rspec3.7でのrequest specにてdeviseログインしているのに、POSTができない
バージョン
devise (4.4.0)
Rails 5.1.4
RSpec 3.7
- rspec-core 3.7.1
- rspec-expectations 3.7.0
- rspec-mocks 3.7.0
- rspec-rails 3.7.2
- rspec-support 3.7.0
request specでgetはできるが、postができない
以下サンプルコードです。
ruby
1 describe 'POST /api/sample.json' do 2 before do 3 @user = FactoryGirl.create(:user) 4 sign_in @user 5 end 6 7 it 'sampleが作成できること' do 8 # POST 9 headers = { "Accept" => "application/json", "Content-Type" => "application/json" } 10 params = { sample: FactoryGirl.attributes_for(:sample, user: @user) } 11 post "/api/sample.json", params: params, headers: headers 12 13 # ステータスコードの確認 14 expect(response.status).to eq 201 15 16 end 17 end
上記でテスト実行すると
shell
1Failures: 2 3 1) Samples POST /api/sample.json sampleが作成できること 4 Failure/Error: expect(response.status).to eq 201 5 6 expected: 201 7 got: 400 8 9 (compared using ==)
どなたかご助言お願いします。
あなたの回答
tips
プレビュー