ここで何が悪いのか理解できません。クライアントモデルと請求書モデルがあります。
Client.rb
has_many :invoices, dependent: :destroy
Invoices.rb
belongs_to :client
私は次のクライアント仕様を持っています:
it "destroys its children upon destruction" do
i = FactoryGirl.create(:invoice) # As per the factory, the :client is the parent of :invoice and is automatically created with the :invoice factory
lambda {
i.client.destroy
}.should change(Invoice.all, :count).by(-1)
end
そして、ここに私の工場があります:
クライアントファクトリー
FactoryGirl.define do
factory :client do
city "MyString"
end
end
請求書ファクトリ
FactoryGirl.define do
factory :invoice do
association :client
gross_amount 3.14
end
end
私がそうしi = FactoryGirl.create(:invoice)
、その後i.client.destroy
コンソールで手動で行うと、請求書は実際に破棄されます。しかし、何らかの理由でテストが失敗し、「カウントは-1で変更されるべきでしたが、0で変更されました。
私は何が間違っているのですか?