These matchers will test the associations for your ActiveRecord models.
describe User do
it { should have_one(:profile) }
it { should have_many(:dogs) }
it { should have_many(:messes).through(:dogs) }
it { should belong_to(:lover) }
end
Ensures that the model can accept nested attributes for the specified association.
Options:
allow_destroy - Whether or not to allow destroy
limit - Max number of nested attributes
update_only - Only allow updates
Example:
it { should accept_nested_attributes_for(:friends) }
it { should accept_nested_attributes_for(:friends).
allow_destroy(true).
limit(4) }
it { should accept_nested_attributes_for(:friends).
update_only(true) }
# File lib/shoulda/matchers/active_record/accept_nested_attributes_for_matcher.rb, line 20 def accept_nested_attributes_for(name) AcceptNestedAttributesForMatcher.new(name) end