У меня были тесты контроллера, которые проверяют, что правильный шаблон отображается для различных кодов состояния. Они работали.
Я пытаюсь реорганизовать тесты, используя следующую итерацию:
context 'renders multiple views based on status code' do
VIEW_MAP = {
404 => 'not_found', 500 => 'server_response', 402 => 'client_response'
}
VIEW_MAP.each do |status_code, view|
retrieve_deal(status_code)
it 'renders the #{view} template for status code #{status_code}' do
get :show, params: { id: 'id' }
expect(response).to render_template(view)
end
end
end
, где retrieve_deal
метод проверяет вызов API с кодом состояния и отправляет ответ контроллеру.
Однако последний шаблон ('client_response'
) отображается для всех тестов. Любые идеи, где я иду не так?