Rspec routes redirect_to sont les attentes à l'échec (ou misparsed?), Comment ça se fait?
-
11-09-2019 - |
Question
Il semble que mon itinéraire rspec pour: controller => 'téléphones',: action => 'modifier' fonctionne ... il devrait être 'téléphones / 123 / modifier', et est selon les tests rspec et routes râteau. Mais quand je crée une attente redirect_to, l'attente échoue.
Voici le test de routes pour l'url:
it "maps #edit" do
route_for(:controller => "phones", :action => "edit", :id => "1").should == "/phones/1/edit"
end #THIS TEST PASSES
Voici l'attente qui échoue:
put :update, :id => "1", :phone => {}
response.should redirect_to :controller => 'phones', :action => 'edit'
Et voici le message que je reçois dans les tests:
expected redirect to {:controller=>"phones", :action=>"edit"},
got redirect to "http://test.host/phones/1089/edit" # BUT THIS THE URL I WAS EXPECTING!
Qu'est-ce que les schiznits?
La solution
La raison pour laquelle ce échoue est que vous manquez l'identifiant dans votre attente. Il devrait être:
response.should redirect_to :controller => 'phones', :action => 'edit', :id=>1
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow