public function testChangeAdminPassword() { $password = '******'; $emMock = $this->getMockBuilder('\\Box_EventManager')->getMock(); $emMock->expects($this->atLeastOnce())->method('fire')->will($this->returnValue(true)); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('store')->will($this->returnValue(true)); $passwordMock = $this->getMockBuilder('\\Box_Password')->getMock(); $passwordMock->expects($this->atLeastOnce())->method('hashIt')->with($password); $di = new \Box_Di(); $di['logger'] = new \Box_Log(); $di['events_manager'] = $emMock; $di['db'] = $dbMock; $di['password'] = $passwordMock; $model = new \Model_Admin(); $model->loadBean(new \RedBeanPHP\OODBBean()); $service = new Service(); $service->setDi($di); $result = $service->changeAdminPassword($model, $password); $this->assertTrue($result); }
public function testGet() { $service = new \Box\Mod\Profile\Service(); $model = new \Model_Admin(); $model->loadBean(new \RedBeanPHP\OODBBean()); $model->id = 1; $model->role = 'admin'; $model->admin_group_id = 1; $model->email = '*****@*****.**'; $model->name = 'Admin'; $model->signature = 'Sincerely'; $model->status = 'active'; $model->created_at = '2014-01-01'; $model->updated_at = '2014-01-01'; $adminApi = new \Box\Mod\Profile\Api\Admin(); $adminApi->setIdentity($model); $adminApi->setService($service); $result = $adminApi->get(); $expected = array('id' => $model->id, 'role' => $model->role, 'admin_group_id' => $model->admin_group_id, 'email' => $model->email, 'name' => $model->name, 'signature' => $model->signature, 'status' => $model->status, 'api_token' => null, 'created_at' => $model->created_at, 'updated_at' => $model->updated_at); $this->assertEquals($expected, $result); }
public function testArticle_get() { $adminApi = new \Box\Mod\Kb\Api\Admin(); $data = array('id' => rand(1, 100)); $db = $this->getMockBuilder('Box_Database')->getMock(); $db->expects($this->atLeastOnce())->method('findOne')->will($this->returnValue(new \Model_KbArticle())); $admin = new \Model_Admin(); $admin->loadBean(new \RedBeanPHP\OODBBean()); $admin->id = 5; $di = new \Box_Di(); $di['loggedin_admin'] = $admin; $di['db'] = $db; $validatorMock = $this->getMockBuilder('\\Box_Validate')->disableOriginalConstructor()->getMock(); $validatorMock->expects($this->atLeastOnce())->method('checkRequiredParamsForArray')->will($this->returnValue(null)); $di['validator'] = $validatorMock; $adminApi->setDi($di); $kbService = $this->getMockBuilder('Box\\Mod\\Kb\\Service')->setMethods(array('toApiArray'))->getMock(); $kbService->expects($this->atLeastOnce())->method('toApiArray')->will($this->returnValue(array())); $adminApi->setService($kbService); $result = $adminApi->article_get($data); $this->assertInternalType('array', $result); }
public function testrenewal_invoiceOrderNotFound() { $validatorMock = $this->getMockBuilder('\\Box_Validate')->getMock(); $validatorMock->expects($this->atLeastOnce())->method('checkRequiredParamsForArray'); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $clientOrder = new \Model_ClientOrder(); $clientOrder->loadBean(new \RedBeanPHP\OODBBean()); $clientOrder->price = 10; $dbMock->expects($this->atLeastOnce())->method('findOne')->will($this->returnValue(null)); $di = new \Box_Di(); $di['validator'] = $validatorMock; $di['db'] = $dbMock; $this->api->setDi($di); $identity = new \Model_Admin(); $identity->loadBean(new \RedBeanPHP\OODBBean()); $this->api->setIdentity($identity); $data['order_id'] = 1; $this->setExpectedException('\\Box_Exception', 'Order not found'); $this->api->renewal_invoice($data); }
public function testOnAfterAdminOrderUncancel_LogException() { $params = array('id' => rand(1, 100)); $eventMock = $this->getMockBuilder('\\Box_Event')->disableOriginalConstructor()->getMock(); $eventMock->expects($this->atLeastOnce())->method('getParameters')->will($this->returnValue($params)); $order = new \Model_ClientOrder(); $order->loadBean(new \RedBeanPHP\OODBBean()); $dbMock = $this->getMockBuilder('\\Box_Database')->disableOriginalConstructor()->getMock(); $dbMock->expects($this->atLeastOnce())->method('getExistingModelById')->will($this->returnValue($order)); $emailServiceMock = $this->getMockBuilder('\\Box\\Mod\\Email\\Service')->setMethods(array('sendTemplate'))->getMock(); $emailServiceMock->expects($this->atLeastOnce())->method('sendTemplate')->willThrowException(new \Exception('PHPUnit controlled exception')); $orderArr = array('id' => rand(1, 100), 'client' => array('id' => rand(1, 100)), 'service_type' => 'domain'); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Order\\Service')->setMethods(array('getOrderServiceData', 'toApiArray'))->disableOriginalConstructor()->getMock(); $serviceMock->expects($this->atLeastOnce())->method('getOrderServiceData')->will($this->returnValue(array())); $serviceMock->expects($this->atLeastOnce())->method('toApiArray')->will($this->returnValue($orderArr)); $admin = new \Model_Admin(); $admin->loadBean(new \RedbeanPHP\OODBBean()); $di = new \Box_Di(); $di['db'] = $dbMock; $di['loggedin_admin'] = $admin; $di['mod_service'] = $di->protect(function ($serviceName) use($emailServiceMock, $serviceMock) { if ($serviceName == 'email') { return $emailServiceMock; } if ($serviceName == 'order') { return $serviceMock; } }); $serviceMock->setDi($di); $eventMock->expects($this->atLeastOnce())->method('getDi')->will($this->returnValue($di)); $serviceMock->onAfterAdminOrderUncancel($eventMock); }
public function testNoteCreate() { $randId = rand(1, 100); $supportPrCategoryModel = new \Model_SupportPrCategory(); $supportPrCategoryModel->loadBean(new \RedBeanPHP\OODBBean()); $dbMock = $this->getMockBuilder('\\Box_Database')->disableOriginalConstructor()->getMock(); $dbMock->expects($this->atLeastOnce())->method('dispense')->will($this->returnValue($supportPrCategoryModel)); $dbMock->expects($this->atLeastOnce())->method('store')->will($this->returnValue($randId)); $di = new \Box_Di(); $di['db'] = $dbMock; $di['logger'] = $this->getMockBuilder('Box_Log')->getMock(); $this->service->setDi($di); $data = array('name' => 'Name', 'email' => '*****@*****.**', 'can_reopen' => 1, 'close_after' => rand(1, 100), 'signature' => 'Signature'); $admin = new \Model_Admin(); $admin->loadBean(new \RedBeanPHP\OODBBean()); $ticket = new \Model_SupportTicket(); $ticket->loadBean(new \RedBeanPHP\OODBBean()); $result = $this->service->noteCreate($ticket, $admin, 'Note'); $this->assertInternalType('integer', $result); $this->assertEquals($result, $randId); }
public function testauthorizeAdmin() { $email = '*****@*****.**'; $password = '******'; $model = new \Model_Admin(); $model->loadBean(new \RedBeanPHP\OODBBean()); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('findOne')->with('Admin', 'email = ? AND status = ?')->willReturn($model); $authMock = $this->getMockBuilder('\\Box_Authorization')->disableOriginalConstructor()->getMock(); $authMock->expects($this->atLeastOnce())->method('authorizeUser')->with($model, $password)->willReturn($model); $di = new \Box_Di(); $di['db'] = $dbMock; $di['auth'] = $authMock; $service = new \Box\Mod\Staff\Service(); $service->setDi($di); $result = $service->authorizeAdmin($email, $password); $this->assertInstanceOf('\\Model_Admin', $result); }
public function testToApiArrayProvider() { $model = new \Model_Admin(); $model->loadBean(new \RedBeanPHP\OODBBean()); return array(array($model, $this->atLeastOnce()), array(null, $this->never())); }
public function testpermissions_update() { $data = array('id' => '1', 'permissions' => 'default'); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Staff\\Service')->getMock(); $serviceMock->expects($this->atLeastOnce())->method('setPermissions')->will($this->returnValue(true)); $staffModel = new \Model_Admin(); $staffModel->loadBean(new \RedBeanPHP\OODBBean()); $validatorMock = $this->getMockBuilder('\\Box_Validate')->getMock(); $validatorMock->expects($this->atLeastOnce())->method('checkRequiredParamsForArray'); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('getExistingModelById')->will($this->returnValue($staffModel)); $di = new \Box_Di(); $di['validator'] = $validatorMock; $di['db'] = $dbMock; $di['logger'] = new \Box_Log(); $this->api->setDi($di); $this->api->setService($serviceMock); $result = $this->api->permissions_update($data); $this->assertInternalType('bool', $result); $this->assertTrue($result); }
public function testService() { $order = new Model_ClientOrder(); $order->loadBean(new \RedBeanPHP\OODBBean()); $apiMock = $this->getMockBuilder('\\Box\\Mod\\Order\\Api\\Admin')->setMethods(array('_getOrder'))->disableOriginalConstructor()->getMock(); $apiMock->expects($this->atLeastOnce())->method('_getOrder')->will($this->returnValue($order)); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Order\\Service')->setMethods(array('getOrderServiceData'))->getMock(); $serviceMock->expects($this->atLeastOnce())->method('getOrderServiceData')->will($this->returnValue(array())); $admin = new Model_Admin(); $admin->loadBean(new RedBeanPHP\OODBBean()); $apiMock->setService($serviceMock); $apiMock->setIdentity($admin); $data = array('id' => rand(1, 100)); $result = $apiMock->service($data); $this->assertInternalType('array', $result); }