Интеграционный тест для метода, который перенаправляет на внешний сайт
Этот метод перенаправляет на внешний сайт. Как мне проверить это поведение? Я знаю, что метод работает правильно, потому что я тестировал в браузере, но не могу пройти тест.
def create
if @order.save
redirect_to Gateway.new(@order).send
else
render 'new'
end
end
Я написал этот тест, который не проходит с "Ошибка отсутствующего шаблона":
describe 'User creates an order with valid info' do
before do
WebMock.allow_net_connect!
stub_request(:any, "https://external-site.com/v2/checkout")
end
it 'creates the order and redirects to checkout page' do
fill_in_order
expect { click_button "Submit" }.to change(Order, :count)
end
end
Ошибка:
Failure/Error: click_button "Submit"
ActionView::MissingTemplate:
Missing template orders/create, ...
1 ответ
Установите ответ для примера возврата:
Replaying raw responses recorded with curl -is
`curl -is www.example.com > /tmp/example_curl_-is_output.txt`
raw_response_file = File.new("/tmp/example_curl_-is_output.txt")
from file
stub_request(:get, "www.example.com").to_return(raw_response_file)
or string
stub_request(:get, "www.example.com").to_return(raw_response_file.read)