# app/controllers/foo_controller.rb
class FooController < ApplicationController
def index
puts cookies["key1"]
cookies["key1"] = '2'
cookies.permanent["key2"] = "3"
end
end
# spec/requests/foo_spec.rb
describe "foo周辺の仕様" do
def cookies
Capybara.current_session.driver.browser.current_session.instance_variable_get(:@rack_mock_session).cookie_jar
end
it "foo/index" do
cookies["key1"] = '1'
visit "/foo/index"
cookies["key1"].should == '2'
cookies["key2"].should == '3'
end
end
上記の検証の過程で、
- cookiesのキー名は文字列でないといけない(シンボルだと上手くいかない)
- cookiesメソッドを上書く必要があり
- permanentでも同じように読める("key2")
ちなみに各プロダクトは下記の組み合わせで確認しました。
rails-3.1.0
rspec-2.6.0
rspec-rails-2.6.1
capybara-1.0.1
0 件のコメント:
コメントを投稿