0

i always get 302 redirect after sign_in user with in sessions request test

Failure/Error: expect(response.status).to eq(200)
     
       expected: 200
            got: 302

spec/requests/sessions_spec.rb

  describe do
   let!(:user) { create(:user) }

    context do
      before { sign_in user }

      it do
        get api_users_path
        expect(response.status).to eq(200)
      end
    end
  end

config: spec_helper.rb

  config.include Devise::Test::IntegrationHelpers, type: :request
  config.include Warden::Test::Helpers, type: :request
4
  • did you use scaffold ? scaffold syntax return 302 status on get method, reference
    – Lam Phan
    Commented Jul 15, 2021 at 14:57
  • nope, not scaffold
    – Almokhtar
    Commented Jul 15, 2021 at 15:15
  • What does your routes file look like?
    – Jake Worth
    Commented Jul 16, 2021 at 2:07
  • devise_for :users, controllers: { sessions: 'sessions' }
    – Almokhtar
    Commented Jul 16, 2021 at 9:03

1 Answer 1

0

The solution is by providing Token in headers

request.headers['HTTP_ACCEPT'] = 'application/json'
request.headers['Authorization'] = token

and removing sign_in

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.