2011-05-02 60 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