Маршруты Rspec redirect_to не соответствуют ожиданиям (или ошибочно проанализированы?) - PullRequest
0 голосов
/ 05 июня 2009

Кажется, мой маршрут rspec для: controller => 'phones',: action => 'edit' работает ... он должен быть 'phones / 123 / edit' и IS в соответствии с тестами rspec и маршрутами рейка. Но когда я создаю ожидание redirect_to, ожидание не выполняется.

Вот тест маршрутов для URL:

    it "maps #edit" do
      route_for(:controller => "phones", :action => "edit", :id => "1").should == "/phones/1/edit"
    end #THIS TEST PASSES

Вот ожидание, которое терпит неудачу:

    put :update, :id => "1", :phone => {}
    response.should redirect_to :controller => 'phones', :action => 'edit'

И вот что я получаю в тестах:

expected redirect to {:controller=>"phones", :action=>"edit"},
got redirect to "http://test.host/phones/1089/edit" # BUT THIS THE URL I WAS EXPECTING!

Что за шизниц?

1 Ответ

2 голосов
/ 05 июня 2009

Причина, по которой это терпит неудачу, заключается в том, что вы упускаете идентификатор в ожидании. Должно быть:

response.should redirect_to :controller => 'phones', :action => 'edit', :id=>1
...