Cookies クッキー
コントローラのスペックからクッキーに対するアサーションを行う方法はいくつかありますが、
以下に示すように cookies
メソッドを使用することを推奨します。
cookies
メソッドはインディファレントアクセスをサポートしているため、
クッキーを取得または設定するときに文字列やシンボルを使用できます。
There are different ways to make assertions on cookies from controller specs,
but we recommend using the cookies
method as set out below.
You can use strings or symbols to fetch or set your cookies because the cookies
method supports indifferent access.
Testing cookie's value cleared in controller
Given a file named "spec/controllers/application_controller_spec.rb" with:
require "rails_helper"
RSpec.describe ApplicationController, type: :controller do
controller do
def clear_cookie
cookies.delete(:user_name)
head :ok
end
end
before do
routes.draw { get "clear_cookie" => "anonymous#clear_cookie" }
end
it "clear cookie's value 'user_name'" do
cookies[:user_name] = "Sam"
get :clear_cookie
expect(cookies[:user_name]).to eq nil
end
end
When I run rspec spec
Then the example should pass.