Si quieres probar el nuevo servicio web que acabamos de crear, copia el archivo de datos de los afiliados del directorio data/fixtures/
al directorio test/fixtures/
y reemplaza el contenido del archivo apiActionsTest.php
generado automáticamente por el siguiente código:
// test/functional/frontend/apiActionsTest.php
include(dirname(__FILE__).'/../../bootstrap/functional.php');
$browser = new JobeetTestFunctional(new sfBrowser());
$browser->loadData();
$browser->
info('1 - Web service security')->
info(' 1.1 - A token is needed to access the service')->
get('/api/foo/jobs.xml')->
with('response')->isStatusCode(404)->
info(' 1.2 - An inactive account cannot access the web service')->
get('/api/symfony/jobs.xml')->
with('response')->isStatusCode(404)->
info('2 - The jobs returned are limited to the categories configured for the affiliate')->
get('/api/sensio_labs/jobs.xml')->
with('request')->isFormat('xml')->
with('response')->checkElement('job', 32)->
info('3 - The web service supports the JSON format')->
get('/api/sensio_labs/jobs.json')->
with('request')->isFormat('json')->
with('response')->contains('"category": "Programming"')->
info('4 - The web service supports the YAML format')->
get('/api/sensio_labs/jobs.yaml')->
with('response')->begin()->
isHeader('content-type', 'text/yaml; charset=utf-8')->
contains('category: Programming')->
end()
;
En el código anterior se utilizan por primera vez dos métodos que te pueden resultar útiles:
isFormat()
: comprueba el formato de la respuestacontains()
: para el contenido que no sea HTML comprueba si la respuesta contiene el trozo de texto que se indica