метод, после вызова

ользую Rails 5 с minitest. Я хочу смоделировать вход в мой контроллер сессий, который использует omniauth (я использую Google и FB для входа в систему). У меня есть это в моем тесте контроллера, test / controllers / rate_controller_test.rb,

 class RatesControllerTest < ActionDispatch::IntegrationTest

  # Login the user
  def setup
    logged_in_user = users(:one)
    login_with_user(logged_in_user)
  end

а затем я пытаюсь настроить логин в моем помощнике по тестированию test / test_helper.rb,

class ActiveSupport::TestCase
  # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
  fixtures :all

  def setup_omniauth_mock(user)
    OmniAuth.config.test_mode = true
    omniauth_hash = { 'provider' => 'google',
                      'uid' => '12345',
                      'info' => {
                         'name' => "#{user.first_name} #{user.last_name}",
                          'email' => user.email,
                      },
                      'extra' => {'raw_info' =>
                                      { 'location' => 'San Francisco',
                                        'gravatar_id' => '123456789'
                                      }
                      }
    }

    OmniAuth.config.add_mock(:google, omniauth_hash)
  end

  # Add more helper methods to be used by all tests here...
  def login_with_user(user)
    setup_omniauth_mock(user)
    post sessions_path
  end

Однако, когда я запускаю тест моего контроллера, я получаю нулевое значение, когда эта строка оценивается в моем контроллере сессий ...

user = User.from_omniauth(env["omniauth.auth"])

Выше env ["omniauth.auth"] оценивается как ноль.

Ответы на вопрос(1)

Ваш ответ на вопрос