Problema en CakePHP Test AJAX con TestAction

Aparentemente, en la versión 2.7.1 se cambió la línea 376 del la clase AuthComponent en el archivo lib/Cake/Controller/Component/AuthComponent.php

Se cambió la línea 376:

$controller->redirect(null, 403);

Por estas líneas:

$controller->response->statusCode(403);
$controller->response->send();
$this->_stop();

Este cambio provoca que fallen los test que se realizan con

$_SERVER['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest';

 

Una alternativa para solucionar el problema es hacer un mock del componente Auth

$Post = $this->generate('Post', array(
 'components' => array(
 'Auth'
 )
 ));

Y devolver true en el método startup

$Post->Auth
 ->expects($this->once())
 ->method('startup')
 ->will($this->returnValue(true));

 

A %d blogueros les gusta esto: