Логин пользователя при тестировании с помощью rspec и authlogic - PullRequest
5 голосов
/ 27 сентября 2010

У меня есть спецификация для тестирования контроллера, как показано ниже

require 'spec_helper'

describe ProductsController do
setup :activate_authlogic

describe "user not logged in" do

it "should not GET index" do
get :index
response.should redirect_to(login_path)
end

end

describe "user logged in" do

before(:each) do
UserSession.create :username => "rohit", :password => "test123"
end

it "should GET index" do
get :index
response.should redirect_to(products_path)
end

end

end

Я также использовал эту строку в spec_helper.rb

require "authlogic/testcase"

Тест для "пользователя, не вошедшего в систему, проходит""но для" пользователя, вошедшего в систему "завершается с

'ProductsController user is logged in should GET index' FAILED
expected redirect to "/products", got no redirect

1 Ответ

0 голосов
/ 27 сентября 2010

Кажется нормальным, потому что Вы получаете URL '/ products' с зарегистрированным пользователем. Тогда он увидит эту страницу. Он не перенаправляет на страницу, которую видит.

Каждый тест независим. Состояние не сохраняется в предыдущем тесте.

...