Pregunta

Lo que que, para llevar a cabo es utilizar (depender) Método current_user mientras define los pasos de pepino. Estoy usando Liquidación en mi proyecto.

En primer lugar me trató de usar sign_in pero no hizo el trabajo (supongo pepino mundo no sabe acerca de los métodos de liquidación ...).

Entonces, ¿cómo hago Cuckes reconocen current_user y sign_in / métodos sign_out?

¿Fue útil?

Solución

Sus características pepino debe conducir a su aplicación a través de la interfaz de usuario público. Algo así como:

Given /^I am signed in as "([^\"]*)"%/ do |username|
  visit 'sign_in'
  fill_in 'Username', :with => username
  click 'Sign In'
end

Dado que el método current_user no está disponible para el navegador, no debe ser de utilizarla en la especificación.

Usted podría fingir en sus pasos por el almacenamiento de @current_user en la anterior etapa y luego proporcionar un lector de atributo para él.

Otros consejos

No estoy de acuerdo con la idea de que todas las pruebas de aceptación (pepino o de otro tipo) debe ejercer la lógica de inicio de sesión. Por suerte, si está de acuerdo, Liquidación ha añadido una href="http://robots.thoughtbot.com/faster-tests-sign-in-through-the-back-door" puerta de atrás en las pruebas que le permite omitir el signo en los pasos.

user = create(:user)
visit posts_path(as: user)

Ahora usted puede dejar a sus características de inicio de sesión relacionada con la conducción de la interfaz de usuario de inicio de sesión como un usuario tendría que saltar y de las características que no están directamente relacionados con el registro en.

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