Michael Hartl の Rails チュートリアルを見ていました。9.2.2 章で、Hartl はカピバラを使用して put/patch リクエストをモデルに直接発行することはできないと述べています。
これはテストコードでした:
describe "for wrong users" do
let(:user) { FactoryGirl.create(:user) }
let(:wrong_user) { FactoryGirl.create(:user, email: "wrong@example.com") }
before { valid_signin user}
describe "when submitting a PATCH request to users#update" do
before { patch user_path(wrong_user) }
specify { expect(response).to redirect_to root_path}
end
end
そして、valid_signin は、最初は次のようになります。
def valid_signin(user, options = {})
visit signin_path
fill_in "Email", with: user.email
fill_in "Password", with: user.password
click_button "Sign in"
end
put リクエストを発行するときに、カピバラを使用してこれを行うことができないため、これらのテストは機能しません。
つまり、カピバラを使用して put/patch リクエストをテストできないということですか? また、put/patch リクエストをテストする必要があり、カピバラを使用できない場合、一般的に何をすべきでしょうか?