I know you can easily test a belongs to relationship using Shoulda:
describe Dog dog it { should belong_to(:owner) } end
Is it possible to test a more complicated belongs_to relationship using Shoulda? Something like this:
class Dog < ActiveRecord::Base belongs_to :owner, :class_name => "Person", :foreign_key => "person_id" end
You should be able to use:
it { should belong_to(:owner).class_name('Person') }
Shoulda's belong_to
matcher always reads the foreign_key
from the association and tests that it is a valid field name, so you don't need to do anything more.
(See Shoulda::Matchers::ActiveRecord::AssociationMatcher#foreign_key_exists?
and associated methods)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With