あるテーブルの一覧画面についての異常がある場合のspec文がどのようなことを書いたらいいのかわかりません。
Rspecと一緒にfactorybot使っております。
現在のspec文
rails
1require 'rails_helper' 2 3RSpec.describe "User::Offers", type: :request do 4 describe "GET /user_offers" do 5 let!(:offer) { create(:offer) } 6 let(:res) { JSON.parse(response.body).deep_symbolize_keys } 7 context "正常系" do 8 it "は 一覧表示成功" do 9 get '/api/user/offers' 10 expect(res).to eq({ 11 :data => [ 12 { 13 id: offer.id, 14 offer_name: "offer_name", 15 status: "end" 16 } 17 ], 18 errors: [] 19 }) 20 end 21 end 22 context "異常系" do 23 it "は だめ" do 24 get '/api/user/offers' 25 offer.status = "aaa" 26 expect(res).to include(error) 27 end 28 end 29 end 30end
このような形でcontext"異常系"は適当に書いたので勿論通りません。
resにはfactorybotのファイルに書いた値が適用されています。
ここでやりたいのは何かしらの異常がある場合のケースを加えたいのですが、何をしたらいいのか全く分かりません。とりあえずstatusにはvalidatesで特定の値しか入らないようになっているので、offer.statusに許可してない値いれてみたらエラーでるかなと思ったのですが、そもそもモデルの方でやるようなことですよねこれ。
なのでrequestで異常系のテストをやる必要のある項目と、参考にだいたいどのようなコードになるか教えていただけると助かります。以上よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/03 09:15