У меня проблема с тестированием следующего кода контроллера:
def publish
if @article.publish
flash[:notice] = "Article '#{@article.title}' was published."
else
# This is not tested
flash[:error] = "Error publishing article."
end
redirect_to :action => :index
end
Где функция публикации выглядит так:
def publish
self.toggle!(:is_published)
end
Функция toggle!
является атомарной и теоретически завершится сбоем только тогда, когда возникнет проблема с базой данных (на практике я могу найти ряд сценариев, где ошибка должна быть обнаружена, потому что кто-то нарушает реализацию метода публикации). Как я могу проверить в Cucumber, что в случае ошибки отображается правильное сообщение?