Несанкционированный запрос после входа пользователя в rspec - PullRequest
0 голосов
/ 28 марта 2019

Я получил несанкционированный запрос после входа в систему пользователя (запрос на получение: показать).Вот простой пример теста пользователей, я не вижу, что я делаю неправильно.

Поддерживаемые макросы контроллера:

module ControllerMacros    
  def login_user
    before(:each) do
      @request.env["devise.mapping"] = Devise.mappings[:user]
      user = FactoryBot.create(:user, company: FactoryBot.create(:company))
      sign_in user
    end
  end
end

Помощник Rspec:

require 'spec_helper'
require 'devise'
require 'support/controller_macros'

RSpec.configure do |config|
  config.include FactoryBot::Syntax::Methods
  config.include Devise::Test::ControllerHelpers, type: :controller
  config.extend ControllerMacros, type: :controller
end

Тест пользователя:

require 'rails_helper'

RSpec.describe Api::V1::UsersController do
  include Devise::Test::ControllerHelpers

  describe "GET /api/v1/users" do
    login_user

    it "should get show" do
      get 'show'
      expect(response).to have_http_status(:success)
    end
  end
end

Ошибка:

Сбой / Ошибка: ожидайте (ответ) .to have_http_status (: успех) ожидал, что у ответа будет код состояния успеха (2xx), но это было 401

...