When Devise sign_in, sign_up does not work with RSpec request spec
I was updating a Rails 6 project, there were som technical debt, I needed to remove or make failing tests pass. When I was trying to fix request spect, I found out that sign_in and sign_up devise helpers did not work.
Even after reading Devise documentation I could not make it work. It turns out that we need IntegrationHelpers to be added for request. So in spec/rails_helper.rb, add the following lines after require 'rspec/rails:
RSpec.configure do |config|
config.include Devise::Test::ControllerHelpers, type: :controller
config.include Devise::Test::ControllerHelpers, type: :view
config.include Devise::Test::IntegrationHelpers, type: :feature
config.include Devise::Test::IntegrationHelpers, type: :request
end
and it should work fine.
The main thing you must note is this line:
config.include Devise::Test::IntegrationHelpers, type: :request
where we make IntegrationHelpers available in request spec.
Happy Coding!