우리는 Rails 4 앱에서 Sorcery 보석을 인증 용으로 사용하고 있습니다. 우리는 우리의 앱을위한 컨트롤러 스펙을 작성하려고한다. (우리는 Rspec으로 테스트하고있다.) 테스트를 실행할 때 우리의 애플리케이션에 로그인하지 않았기 때문에 우리의 스펙에서 호출되는 모든 메소드가 리디렉션된다.rspec을 통한 테스트 컨트롤러, Sorcery로 인증 됨
컨트롤러 사양을 허용하기 위해 추가로 구성해야하는 변경 사항은 무엇입니까?
rails_helper.rb
Spec.configure do |config|
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true
config.infer_base_class_for_anonymous_controllers = false
config.include FactoryGirl::Syntax::Methods
config.include Sorcery::TestHelpers::Rails
end
customers_vehicles_spec.rb
require 'rails_helper'
RSpec.describe CustomersVehiclesController, type: :controller do
describe 'POST update_customer' do
before(:each) do
@job = create(:job)
@vehicle = @job.vehicle
@customer = @vehicle.customers.last
@user = create(:user_schade)
@now = DateTime.now
login_user
end
context 'user has unassinged time' do
it 'gets the vehicle information page' do
get :show_customer, id: @customer.id
expect(response).to be_success
expect(action).to render_template(partial:'customer_form')
end
end
end
이 테스트 가져 오기에 실패; 로그인하지 않았으므로 302 (리디렉션)가 수신됩니다.
컨트롤러 구성을 테스트하기 위해 누락 된 구성 옵션은 무엇입니까?
참고 : 우리는 소서리를 사용합니다. 0.8.4
귀하의 조언에 따라 0.8.6을 시도했지만 해당 버전에서는 로그인 문제가 발생합니다. 소서리는 암호를 생성하고 로그인 할 때 기본 설정을 사용 했음에도 불구하고 암호가 맞는지 확인하기 위해 다른 암호를 사용하는 것처럼 보입니다. 0.8.6 또한 Sorcery :: TestHelpers :: Rails :: Controller를 찾을 수 없다는 오류를 던졌습니다. – eirvandelden