2012-01-16 140 views
0

我已经添加include Sorcery::TestHelpers::Rails sorcery.rb 我的控制器规范内部看起来像测试记录轨道3.1

describe "success" do 
    before(:each) do 
    @user = Factory(:user) 
    @attr = { :username => @user.username, :password => @user.password } 
    end 
    it "should sign the user in" do 
    post :create, :session => @attr 
    # controller.current_user.should == @user 
    controller.should be_logged_in 
    end 
end 

我的控制器看起来像

class SessionsController < ApplicationController 
    def create 
    user = login(params[:username], params[:password], params[:remember_me]) 
    if user 
     redirect_back_or_to root_url, :notice => "Logged in!" 
    else 
     flash.now.alert = "Email or password was invalid" 
     render :new 
    end 
    end 
end 

我有用户模型迁移到我的测试环境,当我运行测试时,它总是说没有登录。

+0

看起来好像巫术方法在rspec内部没有被调用。任何想法赞赏? – bicepjai 2012-01-17 00:55:49

回答

1

您正在将params[:session]传入方法从你的测试,但在你参考的行动params[:username]params[:password]