Pregunta

Se ha realizado una parte del desarrollo de mi proyecto. la empresa me pide que escriba casos de prueba de pepino para el código desarrollado y también para el desarrollo de ahora en adelante. El archivo de rutas tiene dos subdominios para admin y hosts. siendo utilizado.

Ahora instalé pepino y escribí el primer escenario para el primera historia cuando el usuario no registrado llega a la página de inicio, ingresa un correo electrónico válido y se redirige a la página siguiente ... la página no tiene campo de contraseña.

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. 

El problema está en mi archivo de rutas,

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

Ahora, ¿cómo especifico el archivo path.rb para buscar root_path en ese subdominio específico. No hay root_path escrito fuera de las restricciones del subdominio. Esta es la primera vez que hago pruebas. Estoy realmente atascado en esto. Cualquier ayuda es muy apreciada.

Acabo de saber por alguien que esto se puede implementar usando carpincho. Si es así, ¿podría darme una pequeña idea al respecto?

¿Fue útil?

Solución

Resultó que era bastante simple. Capibara proporciona un método default_host. Así que solo necesitaba mencionar

When I visit subomain sub

Y luego el paso web


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

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

  Capybara.default_host = site_domain
  visit "/"
end

Actualización:

Se supone que no se debe usar default_host ya que no se menciona en los documentos. En su lugar, intente utilizar la ruta absoluta en la visita.

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

  site_domain = "http://sub.example.com" if site_domain == "admin"
  visit site_domain
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top