mardi 8 décembre 2015

Test JSON-returning controller method without MissingViewError

I am testing a Controller method that has only a JSON view. My method runs as expected, but the test method only returns "MissingViewException". Is there a solution to avoiding this exception in the unit test (besides inserting an empty file at View/People/map_leads.ctp)?

PeopleController.php

public function mapLeads($territory_id = null) {
    $leads = $this->Person->getPeople([
        'territory_id' => $territory_id
    ]);
    $this->set('leads', $leads);
}

AppController.php

public $components = ['RequestHandler'];

routes.php

Router::parseExtensions('json');

PeopleControllerTest.php

public function testMapLeads() {
    $id = 40;
    $result = $this->testAction('/people/mapLeads/' . $id, array('return' => 'vars'));
}

View/People/json/map_leads.ctp exists and is properly utilized by CakePHP; it is only the test that wants to see View/People/map_leads.ctp.

I checked at CakePHP: calling testAction to a json-returning method causes missing view exception reminding about adding RequestHandler to $components. This does not resolve the exception.

Aucun commentaire:

Enregistrer un commentaire