私はTDDとRailsが初めてです。「エイリアス化された」関連付けをテストしようとしています (これが有効な用語かどうかはわかりません)。
私のテスト:
it 'an order should always have a customer' do
o = Order.new
o.should_not be_valid
end
私のモデル:
class Order < ActiveRecord::Base
belongs_to :customer, :class_name => Person
validates_associated :customer
end
validates_associatedが何を意味するかはわかりません。私のテストでは、「customer_id: nil」の注文も有効としてカウントされます。
人物モデル:
class Person < ActiveRecord::Base
attr_accessible :first_name, :last_name, :middle_name
validates_presence_of :first_name, :last_name
has_many :addresses
has_many :orders, :as => :customer
end
保存されたすべての注文に顧客 (Person オブジェクト) が関連付けられていることを確認したいと考えています。何か不足していますか?