Railsエラーノート

ゼロからWebサービスを作るRuby on Rails学習ブログ

テストのブラウザでcookiesが使えないってどうなんでしょう

Railstutorial第9章まできました。

第8章でも登場したcookies.permanentメソッドは実際にテストでは使うことができないらしい。

そのために、
テストヘルパーとしてテスト用メソッドを作るって・・・
結構大変ですな。

タイトルタグのところでも出てきたのですが、
テストのためのメソッドを作るとは思わなかった。

def sign_in(user, options={})
  if options[:no_capybara]
    # Capybaraを使用していない場合にもサインインする。
    remember_token = User.new_remember_token
    cookies[:remember_token] = remember_token
    user.update_attribute(:remember_token, User.encrypt(remember_token))
  else
    visit signin_path
    fill_in "Email",    with: user.email
    fill_in "Password", with: user.password
    click_button "Sign in"
  end
end