2011-05-02 64 views
0

我正在實施兩步登錄。在第一步中,用戶必須輸入他的電子郵件+密碼。如果正確,則會生成一個隨機字符串,存儲在會話中併發送到賬戶持有人的手機。黃瓜,鐵欄和會話變量

我想知道如何從我的步驟定義中訪問會話變量,或者如何以其他方式捕獲隨機字符串,以便我可以使用在表單中填充它,然後像用戶使用它一樣測試整個登錄。字符串不存儲在模型中,因爲它只是暫時的。

感謝, 科林

回答

2

存根令牌生成器返回一個固定字符串。

+0

這將工作,但我發現它是更好的存根SMSGateway所以我還可以檢查發出的全部內容。不管怎麼說,還是要謝謝你! :) – gucki 2011-05-03 13:06:52

0

我解決了它通過stubbing SMSGateway。我在功能/ env.rb代碼:

require 'cucumber/rspec/doubles' 

... 

Before do |scenario| 
    @smsgateway_sent_text_messages = [] 
    SMSGateway.stub(:send_text_message) do |message, phone_number| 
    @smsgateway_sent_text_messages << { 
     :phone_number => phone_number, 
     :message => message, 
    } 
    end 
end