El tutorial Jobeet

11.4. El tester de Propel

A continuación queremos probar que la oferta de trabajo se ha insertado en la base de datos y también vamos a comprobar que su columna is_activated vale false porque el usuario todavía no la ha publicado.

La mejor forma de realizar esta comprobación consiste en utilizar un nuevo tester específico para Propel. Como este tester de Propel no está registrado por defecto, lo primero que debes hacer es añadirlo al navegador:

$browser->setTester('propel', 'sfTesterPropel');

El tester de Propel incluye el método check() para comprobar que uno o más objetos de la base de datos cumplen con los criterios de búsqueda pasados como argumento.

with('propel')->begin()->
  check('JobeetJob', array(
    'location'     => 'Atlanta, USA',
    'is_activated' => false,
    'is_public'    => false,
  ))->
end()

El criterio de búsqueda se puede indicar como un array de valores (como en el ejemplo anterior) o mediante una instancia del objeto Criteria, que es más útil cuando las búsquedas son complejas. Si se pasa como tercer argumento del método check() un valor booleano, sólo se comprueba si existe o no existe al menos un objeto que cumpla los criterios de búsqueda. El valor por defecto de este tercer argumento es true. Este tercer argumento de check() también puede ser un número entero, en cuyo caso se comprueba si existen en la base de datos el número de objetos indicado en ese argumento.