accept_values_for

Rspec matchers to test ActiveModel validation that follows BDD.

MIT License

Downloads
608.3K
Stars
106
Committers
14

AcceptValuesFor

Writing specs for complex validations is annoying. AcceptValuesFor makes it easy to test your validations with real world values, asserting which values should be accepted by your model and which should not.

Read the original blog post.

Usage

describe User do
  describe "validation" do
    subject(:user) { User.new }

    it { should accept_values_for(:email, "[email protected]", "[email protected]") }
    it { should_not accept_values_for(:email, nil, " ", "john", "john@example") }
  end
end

Dependencies

  • Active Model (6, 7)
  • RSpec (3)

Installation

Gemfile

group :test do
  gem "accept_values_for"
end

Self-Promotion

Like AcceptValuesFor?

Watch the repository on GitHub and read my blog.