4

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 とは何ですか?

4

0 に答える 0