public function testonAfterAdminActivateExtension() { $eventParams = array('id' => 1); $eventMock = $this->getMockBuilder('\\Box_Event')->setMethods(array('getParameters', 'getDi'))->disableOriginalConstructor()->getMock(); $eventMock->expects($this->atLeastOnce())->method('getParameters')->will($this->returnValue($eventParams)); $model = new \Model_Extension(); $model->loadBean(new \RedBeanPHP\OODBBean()); $model->id = 1; $model->type = 'mod'; $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('load')->will($this->returnValue($model)); $hookService = $this->getMockBuilder('\\Box\\Mod\\Hook\\Service')->getMock(); $hookService->expects($this->atLeastOnce())->method('batchConnect'); $di = new \Box_Di(); $di['db'] = $dbMock; $di['mod_service'] = $di->protect(function ($name) use($hookService) { return $hookService; }); $eventMock->expects($this->atLeastOnce())->method('getDi')->will($this->returnValue($di)); $this->service->setDi($di); $this->service->onAfterAdminActivateExtension($eventMock); $result = $eventMock->getReturnValue(); $this->assertTrue($result); }
public function testactivateException() { $data = array('id' => 'extensionId', 'type' => 'extensionType'); $model = new \Model_Extension(); $model->loadBean(new \RedBeanPHP\OODBBean()); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Extension\\Service')->setMethods(array('findExtension', 'activate'))->getMock(); $serviceMock->expects($this->atLeastOnce())->method('findExtension')->will($this->returnValue($model)); $serviceMock->expects($this->atLeastOnce())->method('activate')->will($this->throwException(new \Exception())); $eventMock = $this->getMockBuilder('\\Box_EventManager')->getMock(); $eventMock->expects($this->atLeastOnce())->method('fire'); $di = new \Box_Di(); $di['events_manager'] = $eventMock; $serviceMock->setDi($di); $this->setExpectedException('\\Exception'); $serviceMock->activateExistingExtension($data); }
public function testinstallExceptionActivate() { $data = array('id' => 'extensionId', 'type' => 'extensionType'); $expected = array('success' => true, 'id' => $data['id'], 'type' => $data['type']); $model = new \Model_Extension(); $model->loadBean(new \RedBeanPHP\OODBBean()); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Extension\\Service')->getMock(); $serviceMock->expects($this->atLeastOnce())->method('activateExistingExtension')->will($this->returnValue(new \Exception('testinstallExceptionActivate() exception logged'))); $serviceMock->expects($this->atLeastOnce())->method('downloadAndExtract')->will($this->returnValue(true)); $eventMock = $this->getMockBuilder('\\Box_EventManager')->getMock(); $eventMock->expects($this->atLeastOnce())->method('fire'); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $di = new \Box_Di(); $di['events_manager'] = $eventMock; $di['logger'] = new \Box_Log(); $di['db'] = $dbMock; $validatorMock = $this->getMockBuilder('\\Box_Validate')->disableOriginalConstructor()->getMock(); $validatorMock->expects($this->atLeastOnce())->method('checkRequiredParamsForArray')->will($this->returnValue(null)); $di['validator'] = $validatorMock; $this->api->setService($serviceMock); $this->api->setDi($di); $result = $this->api->install($data); $this->assertInternalType('array', $result); $this->assertEquals($expected, $result); }
public function testInstall() { $extension = new Model_Extension(); $extension->loadBean(new RedBeanPHP\OODBBean()); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Extension\\Service')->setMethods(array('downloadAndExtract'))->getMock(); $serviceMock->expects($this->any())->method('downloadAndExtract')->will($this->returnValue(true)); $serviceMock->setDi($this->di); $data = array('id' => 'branding', 'type' => 'mod'); $api = new \Box\Mod\Extension\Api\Admin(); $api->setService($serviceMock); $api->setDi($this->di); $arr = $api->install($data); $expected = $data; $expected['success'] = true; $this->assertEquals($arr, $expected); }