rspec からコントローラーへのリクエストで Cookie を送信する必要があります。request.cookies['remember_token'] = 'foo' を使用して必要な Cookie を設定しましたが、何らかの形でコントローラーが以前のリクエストから残った間違った値を受け取ります。
たとえば、私はクッキーを設定し、スペックで put リクエストを送信します:
before do
request.cookies['remember_token'] = 'foo'
put 'update', calendar_id: cal.id, id: @day.id, comment: 'Test comment!'
end
コントローラーに request.inspectを配置すると、次のようになります。
@set_cookies={"remember_token"=>"bar"}, @cookies={"remember_token"=>"foo"}
@set_cookies={"remember_token"=>"bar"} は、同じ仕様で以前に行われたリクエストから残っているようです。コントローラーで cookies['remember_token'] にアクセスすると、@cookies ではなく @set_cookies から値が返されます。
@set_cookies とは何ですか?