minitest - How to test a second redirect in Rails' controller test -
i using wicked redirects self-defined link after finishing wizard. happens second redirect.
so, put update
triggers 302
/orders/1/finish_wicked, redirects /orders/1. works expected, hard test in controller tests.
it "must redirect order" put :update assert_redirected_to "/orders/1/finish_wicked" #=> passes, not interested in assert_redirected_to order #=> fails, yet, in end, user being redirected here. end
how can test second redirect in functional -controller- tests?
right now, have split 2 tests:
describe "finalize" "should redirect wicked_finish page" put :update, id: :finalize, order_id: order.id, order: { accepted: true } assert_redirected_to controller: "build", action: :update, id: :wicked_finish, order_id: order.id end describe "wicked_finish" "should redirect order page" :show, id: :wicked_finish, order_id: order.id assert_redirected_to order end end end
one tests redirected wicked-provided finish-path, other define if user lands there, redirected order. overly verbose; not possible follow redirects in controller-test? or bad idea , should tests kept split-up, have?
uhmmmmm not sure if proper answer have seen bad code this. make call, when have redirected page, response contains redirecting bla bla bla. in case redirection page depended on params passed hence knew link before hand , asserted presence of url/link there.
Comments
Post a Comment