Сбой метода RSpec после обновления Rails 5.1 - PullRequest
0 голосов
/ 08 июня 2018

Я только что обновил старое приложение с Rails 3.2 до Rails 5.1.6.Этот тест работал, но сейчас не работает:

# spec/requests/social_sign_ups_spec.rb
describe 'Twitter sign ups:' do

  before(:each)  do
    OmniAuth.config.test_mode = true
  end

  it 'Logs in new user:' do
    visit new_session_path
    OmniAuth.config.mock_auth[:twitter] = OmniAuth::AuthHash.new({
        'provider' => 'twitter',
        'uid' =>  Twitter_identifier,
        'info' => {
             'name' => 'squiddio',
             'image' => "http://pbs.twimg.com/profile_images/568944504166567936/UcqveaGp_normal.png"
         },
        'credentials' => {
            "token" =>  Twitter_token,
            "secret" => Twitter_token_secret
        }
    })

    click_link 'Twitter log-in'
    # this is where I get the callback error in the server- see logs below


  end
end

просмотр журналов сервера:

tail -f log/test.log
# .......
# Completed 200 OK in 2268ms (Views: 2263.5ms | ActiveRecord: 1.6ms)
# Started GET "/auth/twitter" for 127.0.0.1 at 2018-06-08 08:32:01 -0700
# Started GET "/oauth/authenticate?oauth_token=<some token>" for 127.0.0.1 at 2018-06-08 08:32:01 -0700   

# ActionController::RoutingError (No route matches [GET] "/oauth/authenticate"):

# .......

Может кто-нибудь выяснить, почему обратный вызов из Rack:

/oauth/authenticate 

вместо стандартного:

/auth/twitter/callback 

Я получаю в разработке и производстве?

Дополнительная информация:

bundle show rails  # -> rails-5.1.6
bundle show rspec-rails # -> rspec-rails-3.7.2
...