RSpec и разработка: не могу войти в систему с правами администратора

Я переношу свои стандартные модульные тесты Rails в RSpec, и у меня возникают проблемы с devise. Все контроллеры, содержащие аутентификацию устройств, не работают с RSpec.

Я пытаюсь войти в систему администратора в RSpec, следуя руководству по разработке, но безуспешно:

https://github.com/plataformatec/devise/wiki/How-To:-Controllers-and-Views-tests-with -Rails-3-(and-rspec)

Вот что я пробовал:

/spec/controllers/ipad_tech_infos_controller_spec.rb

before :each do
    @request.env["devise.mapping"] = Devise.mappings[:admin]
    @admin = FactoryGirl.create :admin
    sign_in @admin
end

/spec/support/devise.rb

RSpec.configure do |config|
  config.include Devise::TestHelpers, :type => :controller
end

/spec/factories/admin .rb

FactoryGirl.define do
  factory :admin do
    email "abc@abc.com"
    password "foobar"
    password_confirmation {|u| u.password}
  end
end

Моя модель не подтверждена, все спецификации моего контроллера неверны.

Если я удалю before_filter :authenticate_admin! тогда все мои тесты проходят.

Кто-нибудь может помочь?

18
задан vdaubry 6 March 2012 в 09:36
поделиться