Рельсы заводская девушка сравнение не удалось

_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,

Другие вопросы по тегам