/** * @param $cacheReturnValue * @param $expectedResult * * @dataProvider testUnlockActionDataProvider */ public function testUnlockAction($cacheReturnValue, $expectedResult) { $cacheMock = $this->getMockForAbstractClass(\Magelight\Cache\AdapterAbstract::class, [], '', false, false, true, ['del']); $adapterPoolMock = $this->getMock(\Magelight\Cache\AdapterPool::class, [], [], '', false); \Magelight\Cache\AdapterPool::forgeMock($adapterPoolMock); $adapterPoolMock->expects($this->any())->method('getAdapter')->will($this->returnValue($cacheMock)); $cacheMock->expects($this->any())->method('del')->with(md5(serialize([]) . '_lock'))->will($this->returnValue($cacheReturnValue)); $this->controller->init(); $this->assertEquals($expectedResult, $this->controller->unlockCurrentAction()); }
/** * {@inheritdoc} */ public function beforeExecute() { $this->breadcrumbsBlock = \Magelight\Core\Blocks\Breadcrumbs::forge(); $this->breadcrumbsBlock->addBreadcrumb(__('Admin panel'), 'admin/index'); if (!\Magelight\Admin\Helpers\Admin::getInstance()->isCurrentUserAdmin()) { $this->redirect($this->url('no_rights')); $this->app->shutdown(); die; } $this->view = \Magelight\Core\Blocks\Document::getInstance()->loadLayout('global/layouts/admin'); $this->view->setGlobal('user_id', $this->session()->get('user_id')); $this->view()->sectionAppend('breadcrumbs', $this->breadcrumbsBlock); $this->view()->sectionAppend('dashboard-content', ''); return parent::beforeExecute(); }
/** * Before execute handler * * @return \Magelight\Controller|void */ public function beforeExecute() { $this->view = \Magelight\Core\Blocks\Document::getInstance(); $this->view->sectionAppend('body', \SampleApp\Blocks\Body::forge()); return parent::beforeExecute(); }
public function testDispatchAction() { $action = ['module' => 'Magelight', 'controller' => 'controller', 'action' => 'index']; $requestMock = $this->getMock(\Magelight\Http\Request::class, [], [], '', false); \Magelight\Http\Request::forgeMock($requestMock); class_alias(\Magelight\Controller::class, '\\Magelight\\Controllers\\Controller'); $controllerMock = $this->getMockForAbstractClass(\Magelight\Controller::class, [], '', false, false, false, ['indexAction', 'init', 'beforeExecute', 'afterExecute']); \Magelight\Controller::forgeMock($controllerMock); $controllerMock->expects($this->once())->method('indexAction'); $controllerMock->expects($this->once())->method('init')->with($action); $controllerMock->expects($this->once())->method('beforeExecute'); $controllerMock->expects($this->once())->method('afterExecute'); $this->eventManagerMock->expects($this->at(0))->method('dispatchEvent')->with('app_dispatch_action', ['action' => $action, 'request' => $requestMock]); $this->eventManagerMock->expects($this->at(1))->method('dispatchEvent')->with('app_controller_init', ['controller' => $controllerMock, 'action' => $action, 'request' => $requestMock]); $this->eventManagerMock->expects($this->at(2))->method('dispatchEvent')->with('app_controller_initialized', ['controller' => $controllerMock, 'action' => $action, 'request' => $requestMock]); $this->eventManagerMock->expects($this->at(3))->method('dispatchEvent')->with('app_controller_executed', ['controller' => $controllerMock, 'action' => $action, 'request' => $requestMock]); $this->app->dispatchAction($action); $this->assertEquals($action, $this->app->getCurrentAction()); }