Только начинаю использовать Test::Unit
, но не могу пройти тест перенаправления:
test "should destroy line_item" do
assert_difference('LineItem.count', -1) do
delete :destroy, id: @line_item
end
assert_redirected_to controller: 'carts', action: 'show'
end
который выдает следующую ошибку:
Failure: Expected response to be a redirect to <http://test.host/carts/980190962> but was a redirect to <http://test.host/carts/980190963>.
test_should_destroy_line_item(LineItemsControllerTest)
test/functional/line_items_controller_test.rb:47:in `block in <class:LineItemsControllerTest>'
В документах указано следующее:
assert_redirected_to(options = {}, message=nil) public
Утверждают, что переданные параметры перенаправления соответствуют параметрам перенаправления, вызванного в последнем действии. Это совпадение может быть частичным, например, assert_redirected_to(:controller => "weblog") также будет соответствовать перенаправлению redirect_to(:controller => "weblog", :action => "show") и так далее.
но assert_redirected_to controller: 'carts'
приводит к еще более откровенному провалу:
Failure: Expected response to be a redirect to <http://test.host/carts> but was a redirect to <http://test.host/carts/980190963>.
test_should_destroy_line_item(LineItemsControllerTest)
Если документация верна, что мне не хватает? Если это не так, какие у меня есть альтернативы для проверки перенаправления независимо от соответствующего идентификатора?