Тестирование перенаправлений маршрутизации с использованием rspec - PullRequest
3 голосов
/ 18 января 2012

У меня проблема маршрутизации с Rails и Rspec, которую я не могу решить.

В моем файле rout.rb я настроил некоторые перенаправления следующим образом:

match "/events" => redirect("/albums")
match "/events/:id" => redirect("/albums/%{id}")

Это работает, но я не могу понять, как это проверить. Я надеялся, что смогу сделать что-то вроде

 { :get => "/events" }.should route_to(:controller => "events", :action => "index")

или

 { :get => "/events" }.should redirect_to("/albums")

однако ни один из этих параметров не работает.

Создание обычного цикла ответа на запрос, получение "/ events" и затем проверка ответа - редирект возвращает ошибку, что ответа нет ...

Ответы [ 2 ]

6 голосов
/ 01 октября 2013

Вместо этого вы можете проверить это в спецификации запроса (в спецификации / запросах).Вот пример:

require "spec_helper"

describe "redirection" do
  it "should redirect events to albums" do
    get "/events/1"
    response.should redirect_to("/albums/1")
  end
end
0 голосов
/ 18 января 2012

Вы пробовали {: get => "/ events"} .should route_to (: controller => "album",: action => "index")?

...