Example #1
0
 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);
 }
Example #2
0
 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);
 }
Example #3
0
 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);
 }
Example #4
0
 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);
 }