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?

È stato utile?

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
scroll top