RSpec percorsi redirect_to stanno fallendo aspettative (o misparsed?), Come mai?
-
11-09-2019 - |
Domanda
Sembra che il mio percorso rspec per: Controller => 'telefoni',: action => 'Modifica' funziona ... Va 'telefoni / 123 / edit', ed è secondo test RSpec e percorsi rake. Ma quando creo un'aspettativa redirect_to, l'aspettativa non riesce.
Ecco il test di percorsi per l'URL:
it "maps #edit" do
route_for(:controller => "phones", :action => "edit", :id => "1").should == "/phones/1/edit"
end #THIS TEST PASSES
Ecco l'aspettativa che non riesce:
put :update, :id => "1", :phone => {}
response.should redirect_to :controller => 'phones', :action => 'edit'
E questo è il messaggio che ottengo nei test:
expected redirect to {:controller=>"phones", :action=>"edit"},
got redirect to "http://test.host/phones/1089/edit" # BUT THIS THE URL I WAS EXPECTING!
Quello che i schiznits?
Soluzione
La ragione per questo sta venendo a mancare è che vi manca l'id nella vostra aspettativa. Dovrebbe essere:
response.should redirect_to :controller => 'phones', :action => 'edit', :id=>1
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow