тестирование маршрутов с ограничениями поддоменов с использованием rspec - PullRequest
9 голосов
/ 17 февраля 2012

У меня проблемы с получением моих тестов маршрутизации rspec, работающих с ограничением на поддомен.

В частности, у меня есть маршрут

constraints :subdomain => "api" do
  resources :sign_ups, :only => [:create]
end

и (среди прочих) тест

it "does allow creation of sign ups" do
  {:post => "/sign_ups"}.should route_to(
    :controller => "sign_ups",
    :action => "create",
  )
end

Если я снимаю ограничение субдомена, этот тест проходит, но с ним он не проходит.Я должен сказать rspec использовать поддомен, но я не знаю, как

TIA

Энди

1 Ответ

28 голосов
/ 17 февраля 2012

Я обычно делаю:

let(:url)     { "http://api.domain.com"     }
let(:bad_url) { "http://bad_url.domain.com" }

it "does allow creation of sign ups" do
  {:post => "#{url}/sign_ups"}.should route_to(
   :controller => "sign_ups",
   :action => "create",
  )
end

it "should not route" do
  {:post => "#{bad_url}/sign_ups"}.should_not route_to(
   :controller => "sign_ups",
   :action => "create",
  )
end
...