2012-02-17 33 views
8

Tôi đang gặp sự cố khi thử nghiệm định tuyến rspec của tôi làm việc với một hạn chế miền phụ.các tuyến thử nghiệm với các hạn chế tên miền phụ bằng cách sử dụng rspec

Cụ thể là tôi có một con đường

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

và (trong số những người khác) một thử nghiệm

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

Nếu tôi loại bỏ các hạn chế subdomain thử nghiệm này đi, nhưng với nó nó không thành công. Tôi phải nói với rspec sử dụng tên miền phụ nhưng tôi đang ở một mất mát như thế nào

TIA

Andy

Trả lời

25

tôi thường làm:

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 
+0

Awesome, mà làm việc, cảm ơn. Tôi không biết mình có thể sử dụng url đầy đủ .. – Andy

+0

Tôi nhớ thông tin này không rõ ràng và tôi đã có một số khó khăn để có được nó;) – apneadiving

+0

Crikey, điều này có vẻ như rất nhiều công việc nếu bạn đang thay đổi một ứng dụng hiện có. – toxaq

Các vấn đề liên quan