0

私は、auserがであるかどうかを確認しadministrator、そうである場合はいくつかの追加フィールドを表示するRSpecテストに取り組んでいます。統合仕様を実行すると、それが表示されundefined method loginて失敗します。なぜこれが起こっているのか誰かが知っていますか?

統合仕様の関連部分は次のとおりです(管理者以外のテストで機能します)。

context 'if logged in as an admin' do
  let(:administrator) { FactoryGirl.create(:administrator) }
  before { login administrator }
  it 'creates an object upon submit' do
    fill_in 'name', with: 'john doe'
    ...
  end
end

セッションヘルパーには、次のものがあります(ブラウザーで機能します)。

def login(user)
  cookies.permanent[:remember_token] = user.remember_token
  self.current_user = user
end

私が見逃している可能性のあるアイデアはありますか?ブラウザではすべてが完全に機能しますが、仕様を実行すると失敗するようです。助けてくれてありがとう!

4

1 に答える 1

0

2日間作業した後、ユーティリティメソッドが欠落していることに気づきませんでした。

今後の参考のために、すべてが機能するようになった理由は次のとおりです(spec / support / Utilities.rb内)。

def login(user)
  visit login_path
  fill_in "E-mail Address",    with: user.email_address
  fill_in "Password", with: user.password
  click_button "Login"
  cookies[:remember_token] = user.remember_token
end
于 2012-07-12T20:57:19.670 に答える