Рельсы заводская девушка сравнение не удалось
_spec.rb
context 'find discount coupon' do
it 'if coupon suitable for use' do
coupon = Factory(:standart_discount_coupon)
DiscountCoupon.find_discount_coupon(coupon.coupon_no).should eql({:success => true, :error => nil, :coupon_id => coupon.id })
end
end
У меня есть этот тест, и когда я его запускаю, я сталкиваюсь с этой ошибкой.
1) DiscountCoupon find discount coupon if coupon suitable for use
Failure/Error: DiscountCoupon.find_discount_coupon(coupon.coupon_no).should eql({:success => true, :error => nil, :coupon_id => coupon.id })
expected: {:success=>true, :error=>nil, :coupon_id=>1060}
got: {:success=>true, :error=>nil, :coupon_id=>1046}
(compared using eql?)
Diff:
@@ -1,4 +1,4 @@
-:coupon_id => 1060,
+:coupon_id => 1046,
:error => nil,
:success => true
Почему copon_id разные?
1 ответ
Кроме орфографической ошибки "стандарт", я думаю, у вас нет ничего, что мешало бы иметь несколько купонов с одинаковыми coupon_no
в базе данных. Хорошо, что у вас есть тест, который обнаружил эту проблему, даже если он виден только потому, что ваша фабрика использует значение по умолчанию для coupon_no
,