私のテストでは、利用可能な制限(例えば、そのオファーで10席)がすべて販売されているかどうかを確認する必要があります。期限が切れています。私はちょうど要求スペックで動作するようにPUTリクエストを取得することはできませんrails request spec jsonのPUTメソッドが終了しない
、ここで私は
put '/offers/'<<offer.id.to_s<<".json", params: { offer: payload }
あるいは
put '/offers/'<<offer.id.to_s<<".json", payload
を含む多くのハックをしようとしたと言って
RSpec.describe "Offers", type: :request do
describe "gives not found response" do
it "when available limit exhausts before date till available" do
offer = Offer.new
Timecop.freeze(Date.today - 12.days) do
offer = FactoryGirl.create(:offer)
end
payload = FactoryGirl.attributes_for(:offer, :available_limit => 0, :discount_id => offer.discount.id, :coupon_id => offer.coupon.id)
sign_in
put '/offers/'<<offer.id, params: { id: offer.id, offer: payload }, as: :json
get "/vouchers/"<<offer.coupon.voucher_code
expect(response.status).to eq 404
end
end
end
針は私のコードです
私が気づいたのは、リクエストのいずれかの組み合わせで、リクエストが通過しましたが、 H HTMLやJSON形式私はカピバラの下でそれらを実行しているわけではないとして、スペックでエラーにつながる(と私はどちらかにしたくない)
最近のバージョンで 'format::json'が' as::json'に変更されましたが、私はそれが壊れているとは思わない。 –