Pregunta

Soy nuevo en Watir y he tiene problemas para conseguir conectado en mis pruebas. Yo uso authlogic como mi método de autenticación de elección. Cuando un usuario se registra, se les envía un correo electrónico con un enlace de confirmación. Al hacer clic en este enlace confirma su cuenta y que pueden entonces inicio de sesión.

El problema que estoy teniendo es ¿Cómo confirmo el usuario al utilizar Watir?

que tengo hasta ahora:

Given /I sign up/ do
  BROWSER.goto("http://localhost:3000/register")
  BROWSER.text_field(:id, "user_email").set("foo@bar.com")
  BROWSER.text_field(:id, "user_name").set("Foo Bar)
  BROWSER.text_field(:id, "user_password").set("foo bar")
  BROWSER.text_field(:id, "user_password_confirmation").set("foo bar")
  BROWSER.button(:id, "user_submit").click
end

Given /I am logged in via Watir/ do
  BROWSER.goto("http://localhost:3000/login")
  BROWSER.text_field(:id, "user_session_email").set("foo@bar.com)
  BROWSER.text_field(:id, "user_session_password").set("foo bar")
  BROWSER.button(:id, "user_session_submit").click
end

Esta rellena correctamente los campos y se guarda el usuario. Ahora intento para confirmar el usuario de esta manera:

Given /I am confirmed/ do
  User.last.confirmed!
end

Por desgracia, esto no funciona. ¿Qué me falta?

¿Fue útil?

Solución

No estoy familiarizado con waitir pero imagino dado los siguientes pasos:

Given I have signed up
When I confirm my account
Then my account should be confirmed

Se podría mantener cualquiera de las vías del enlace que les está esperando para golpear y golpear realmente probar que enlace para verificar que el controlador selecciona el usuario como lo confirma:

When /I confirm my account / do
  BROWSER.goto("the_url_from_the_email")
  # note that if you need to visit this link and click a button
  # or something you will need to code that part as well
end

Estos pasos ejercería el código de registro y confirmación. Creo que si quería que tendría que utilizar cualquiera de estos para componer una "Dada estoy conectado con una cuenta confirmada" paso como condición previa para las otras pruebas, o simplemente utilizar el mismo paso para devolver una cuenta en conserva.

No está seguro de que responde a su pregunta original realmente pero como se ha mencionado que en realidad no han dicho lo que realmente está pasando mal. Supongo que User.last.confirmed! No es el ahorro, o no se guarde el registro de lo esperado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top