В спецификации контроллера вы пишете get :method_name
вместо пути. Это потому, что спецификации контроллера на самом деле не создают HTTP-запросов. Вместо этого они создают экземпляр вашего контроллера и передают ему поддельный запрос, а затем вы фактически вызываете метод на контроллере. Спецификации контроллера устарели.
То, что вы хотите, это запрос spe c:
# spec/requests/logins_spec.rb
RSpec.describe 'Logins', type: :request do
let(:token) {'xx'}
let(:url) { 'https://test.test.net.br' }
let(:user_id) {1}
describe 'GET login_with_token' do
context 'with valid user and token' do
it 'return the token data' do
get "/login/#{user_id}", params: {}, headers: {'Authorization': token }
expect(response).to have_http_status(201)
expect(response.content_type).to eq "application/json"
expect(response[:subdomain]).to eq('test')
expect(response[:url]).to eq(url_portal)
expect(response[:token]).not_to be_nil
end
end
end
end