¿Cómo simularse mage_admin_model_session para usar el método de GetUSER?
-
12-12-2019 - |
Pregunta
Me gustaría probar un método con diferentes administradores, me burlé de la sesión de administración con este código:
$stubAdminSession = $this->getModelMockBuilder('admin/session')
->disableOriginalConstructor()
->setMethods(null)
->getMock();
$stubAdminSession->expects($this->any())
->method('getUser')
->will($this->returnValue(Mage::getModel('admin/user')->load($data['user_id'])));
$this->replaceByMock('singleton','admin/session', $stubAdminSession);
pero cuando llamo la instrucción de seguimiento
$admin = Mage::getSingleton('admin/session')->getUser();
La variable de administración es nula. En el modo de depuración, puedo ver la matriz de matrones dentro de la
Mage::getSingleton('admin/session')
con el trozo correcto y el METHNAMEmatcher correcto
Solución
llamando
setMethods(null)
Indica explícitamente que no se deben reemplazar ningún método.Por lo tanto, la instrucción posterior no tiene efecto.
Intente esto en lugar:
$stubAdminSession = $this->getModelMockBuilder('admin/session')
->disableOriginalConstructor()
->setMethods(array('getUser'))
->getMock();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange