Domanda

Parte dello sviluppo del mio progetto è stata completata l'azienda mi chiede di scrivere casi di test di cetriolo per il codice sviluppato e anche per lo sviluppo d'ora in poi. Il file delle rotte ha due sottodomini per l'amministratore e gli host. Anche il dispositivo è in uso.

Ora ho installato cucumber e ho scritto il primo scenario per il la prima storia quando l'utente non registrato arriva sulla home page, entra un'e-mail valida e viene reindirizzato alla pagina successiva..la pagina ha no campo password.

Scenario: Non registered user lands on beta home page. 
Given: I am on the homepage 
When: I enter valid email with "bahubalian...@gmail.com". 
Then: I should be redirected to request invitation page. 

Il problema è nel mio file dei percorsi, sì,

constraints :subdomain => ADMIN_SUBDOMAIN do 
  .... 
  root :to => admin#index 
end 
constraints :subdomain => HOST do 
  ... 
  root :to => home#index. 
end 

Ora come faccio a specificare il file path.rb in cui cercare root_path in quello specifico sottodominio. Non esiste root_path scritto al di fuori dei vincoli del sottodominio. Questa è la mia prima volta con i test. Sono davvero bloccato su questo e qualsiasi aiuto è profondamente apprezzato.

Ho appena saputo da qualcuno che questo può essere implementato utilizzando capibara, in tal caso, potresti darmi una piccola idea al riguardo.

È stato utile?

Soluzione

Si è scoperto che era piuttosto semplice.Capybara fornisce un metodo default_host. Quindi dovevo solo menzionare,

When I visit subomain sub

E poi il webstep


Given /^I visit subdomain (.*)$/ do |site_domain|

  site_domain = "http://sub.example.com" if site_domain == "admin"

  Capybara.default_host = site_domain
  visit "/"
end

Aggiorna:

default_host non dovrebbe essere usato perché non è menzionato nella documentazione. Prova invece a utilizzare il percorso assoluto nella visita.

Given /^I visit subdomain (.*)$/ do |site_domain|

  site_domain = "http://sub.example.com" if site_domain == "admin"
  visit site_domain
end
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top