2012-07-12 36 views
0

我有一個RSpec測試工作,檢查是否useradministrator,如果是,顯示一些額外的字段。當我運行集成規範時,它說undefined method login並失敗。有誰知道爲什麼會發生這種情況?RSpec:undefined方法登錄

這裏的整合規範的相關部分(它適用於非管理員測試):

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 

任何想法,我可能會失蹤?一切都在瀏覽器中完美運行,但在運行規範時似乎失敗了。預先感謝任何幫助!

回答

0

經過兩天的工作,我沒有意識到我錯過了實用程序的方法,呵呵!

這裏是什麼使得這一切工作(在規格/支持/ 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