1
テストを実行中に次のエラーが発生します。
NoMethodError: undefined method 'departure_date' for nil:NilClass
テストの工場からの親と子のMiniTest
ここはテストです。
test "successful disbursement should respond with success" do
post :disbursement, {id: @invoice.invoice_id, trip: attributes_for(:trip)}
assert_response :success
end
ここでは、次のようなテストを作成します。
setup do
@controller = Api::V1::InvoicesController.new
@invoice = create(:invoice)
@trip = create(:trip)
end
旅行工場はこのようになります。
FactoryGirl.define do
factory :trip do
depart_airport "MCI"
arrive_airport "ORD"
passenger_first_name "Joe"
passenger_last_name "Business"
passenger_count 1
departure_date {10.days.from_now}
invoice
end
end
請求書工場はこのようになります。
FactoryGirl.define do
factory :invoice do
sequence(:invoice_id) { |n| "INV#{n}"}
merchant
amount 500.00
item_count 5
paid false
currency "GBP"
invoice_type "pre-flight"
end
end
請求書に旅行があるかどうかを確認する方法がわかりません。私はこれがなぜ、departure_dateを見つけることができないのかと推測しています。