У меня есть спецификация запроса, которая пытается проверить функциональность загрузки файлов в Rails 3.1 для меня. Спецификация (частично) выглядит так:
get document_path(Document.first)
logger(response.body)
response.should be_success
Не удается с:
Failure/Error: response.should be_success
expected success? to return true, got false
Но если я проверю загрузку в браузере, он загрузит файл правильно.
Вот действие в контроллере:
def show
send_file @document.file.path, :filename => @document.file_file_name,
:content_type => @document.file_content_type
end
И мой регистратор дает эту информацию об ответе:
<html><body>You are being <a href="http://www.example.com/">redirected</a>.</body></html>
Как мне пройти этот тест?
Обновление:
Как уже отмечалось, один из моих before_filters делал перенаправление. Причина в том, что я использовал Capybara для входа в тест, но не использовал его методы для навигации по сайту. Вот что сработало (частично):
click_link 'Libraries'
click_link 'Drawings'
click_link 'GS2 Drawing'
page.response.should be_success #this still fails
Но сейчас я не могу найти способ проверить, что фактический ответ был успешным. Что я тут не так делаю.