тестирование входа в функцию магии с использованием rspec в рельсах 3.1 - PullRequest
0 голосов
/ 16 января 2012

я добавил include Sorcery::TestHelpers::Rails в sorcery.rb моя спецификация контроллера выглядит как

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

у меня есть пользовательская модель, перенесенная в мою тестовую среду,когда я запускаю тест, он всегда заканчивает тем, что не авторизован.

1 Ответ

1 голос
/ 17 января 2012

Вы передаете params[:session] в метод из своего теста, но в действии вы ссылаетесь на params[:username] и params[:password].

...