Ver índice de contenidos del libro

17.4. Pruebas unitarias

¿Qué pruebas unitarias son las más recomendables para nuestro buscador? Obviamente no vamos a probar la propia librería Zend Lucene, sino su integración con la clase JobeetJob.

Para ello, añade las siguientes pruebas al final del archivo JobeetJobTest.php y no te olvides de actualizar a 7 el número de pruebas al principio del archivo:

// test/unit/model/JobeetJobTest.php
$t->comment('->getForLuceneQuery()');
$job = create_job(array('position' => 'foobar', 'is_activated' => false));
$job->save();
 
$jobs = JobeetJobPeer::getForLuceneQuery('position:foobar');
$t->is(count($jobs), 0, '::getForLuceneQuery() does not return non activated jobs');
 
$job = create_job(array('position' => 'foobar', 'is_activated' => true));
$job->save();
 
$jobs = JobeetJobPeer::getForLuceneQuery('position:foobar');
$t->is(count($jobs), 1, '::getForLuceneQuery() returns jobs matching the criteria');
$t->is($jobs[0]->getId(), $job->getId(), '::getForLuceneQuery() returns jobs matching the criteria');
 
$job->delete();
 
$jobs = JobeetJobPeer::getForLuceneQuery('position:foobar');
$t->is(count($jobs), 0, '::getForLuceneQuery() does not return deleted jobs');

Las pruebas anteriores comprueban que el índice no contenga ni ofertas de trabajo inactivas ni ofertas borradas. También comprobamos que los resultados de búsqueda muestran las ofertas de trabajo que coinciden con los criterios de búsqueda indicados.