Ver índice de contenidos del libro

13.6. Probando a los usuarios

El tutorial de hoy todavía no se ha acabado porque todavía no hemos hablado de cómo probar la parte de los usuarios. Como el navegador que incluye Symfony también simula el comportamiento de las cookies, es muy sencillo crear pruebas para la parte de los usuarios utilizando el tester sfTesterUser.

A continuación vamos a actualizar las pruebas funcionales para las opciones del menú que hemos añadido durante el día de hoy. Añade el siguiente código al final de las pruebas funcionales del módulo job:

// test/functional/frontend/jobActionsTest.php
$browser->
  info('4 - User job history')->
 
  loadData()->
  restart()->
 
  info('  4.1 - When the user access a job, it is added to its history')->
  get('/')->
  click('Web Developer', array(), array('position' => 1))->
  get('/')->
  with('user')->begin()->
    isAttribute('job_history', array($browser->getMostRecentProgrammingJob()->getId()))->
  end()->
 
  info('  4.2 - A job is not added twice in the history')->
  click('Web Developer', array(), array('position' => 1))->
  get('/')->
  with('user')->begin()->
    isAttribute('job_history', array($browser->getMostRecentProgrammingJob()->getId()))->
  end()
;

Para que las pruebas sean más sencillas, en primer lugar volvemos a cargar los datos de prueba y reiniciamos el navegador para comenzar con una sesión de usuario limpia.

El método isAttribute() comprueba el atributo de usuario que se indica.

Nota El tester sfTesterUser también incluye los métodos isAuthenticated() y hasCredential() para poder probar respectivamente la autenticación y la autorización del usuario.