In integration tests with EcomDev_PHPUnit_Test_Case_Controller
there is a useful helper method adminSession()
, to test requests in the Magento backend. With Magento Enterprise you might get this error message if you use it:
Exception: Warning: in_array() expects parameter 2 to be array, null given in /home/vagrant/mwdental/www/app/code/core/Enterprise/AdminGws/Model/Role.php on line 83
As seen on Magento EE 1.14.1.
Without disclosing details about the Enterprise modules, here a solution where the responsible observer gets mocked:
$adminObserverMock = $this->getModelMock( 'enterprise_admingws/observer', array('adminControllerPredispatch')); $adminObserverMock->expects($this->any()) ->method('adminControllerPredispatch') ->will($this->returnSelf()); $this->replaceByMock('singleton', 'enterprise_admingws/observer', $adminObserverMock); $this->adminSession();