rails + rspec : Staying DRY when testing validations
dry, ruby-on-rails, tdd, validation
Solution
There are remarkable for that : http://github.com/carlosbrando/remarkable
After you can do
it { should validate_presence_of :name }
Problem
Ok say I have the following model: ``` class Country < ActiveRecord::Base validates_presence_of :name validates_presence_of :code end ``` I'm doing the rspec unit tests for those validations. They look like this: ``` it "should be invalid without a name" do country = Country.new(@valid_attributes.except(:name)) country.should_not be_valid country.errors.on(:name).should == "can't be blank" country.name = @valid_attributes[:name] country.should be_valid end it "should be invalid without a code" do country = Country.new(@valid_attributes.except(:code)) country.should_not be_valid country.errors.on(:code).should == "can't be blank" country.code = @valid_attributes[:code] country.should be_valid end ``` This doesn't look quite DRY. Is there any gem or plugin that automates this kind of stuff? I'd like to get something along these lines: ``` it "should be invalid without a name" do test_presence_validation :name end it "should be invalid without a code" do test_presence_validation :code end ```