public function testmarkAsPaid() { $invoiceItemModel = new \Model_InvoiceItem(); $invoiceItemModel->loadBean(new \RedBeanPHP\OODBBean()); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Invoice\\ServiceInvoiceItem')->setMethods(array('creditInvoiceItem', 'getOrderId'))->getMock(); $serviceMock->expects($this->atLeastOnce())->method('creditInvoiceItem'); $serviceMock->expects($this->atLeastOnce())->method('getOrderId')->willReturn(1); $clientOrder = new \Model_ClientOrder(); $clientOrder->loadBean(new \RedBeanPHP\OODBBean()); $orderServiceMock = $this->getMockBuilder('\\Box\\Mod\\Order\\Service')->getMock(); $orderServiceMock->expects($this->atLeastOnce())->method('unsetUnpaidInvoice')->with($clientOrder); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('store'); $dbMock->expects($this->atLeastOnce())->method('load')->willReturn($clientOrder); $di = new \Box_Di(); $di['db'] = $dbMock; $di['mod_service'] = $di->protect(function () use($orderServiceMock) { return $orderServiceMock; }); $serviceMock->setDi($di); $serviceMock->markAsPaid($invoiceItemModel); }
/** * @expectedException \Box_Exception */ public function testCheckoutCartClientIsNotAbleToUsePromoException() { $cart = new \Model_Cart(); $cart->loadBean(new \RedBeanPHP\OODBBean()); $cart->promo_id = rand(1, 100); $order = new \Model_ClientOrder(); $order->loadBean(new \RedBeanPHP\OODBBean()); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Cart\\Service')->setMethods(array('isClientAbleToUsePromo'))->getMock(); $serviceMock->expects($this->atLeastOnce())->method('isClientAbleToUsePromo')->will($this->returnValue(false)); $dbMock = $this->getMockBuilder('Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('getExistingModelById')->will($this->returnValue(new \Model_Promo())); $client = new \Model_Client(); $client->loadBean(new \RedBeanPHP\OODBBean()); $di = new \Box_Di(); $di['db'] = $dbMock; $di['logger'] = $this->getMockBuilder('Box_Log')->getMock(); $serviceMock->setDi($di); $result = $serviceMock->checkoutCart($cart, $client); $this->assertInternalType('array', $result); $this->assertArrayHasKey('gateway_id', $result); $this->assertArrayHasKey('invoice_hash', $result); $this->assertArrayHasKey('order_id', $result); $this->assertArrayHasKey('orders', $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 testupdateProductFileFileNotUploaded() { $orderModel = new \Model_ClientOrder(); $orderModel->loadBean(new \RedBeanPHP\OODBBean()); $serviceDownloadableModel = new \Model_ServiceDownloadable(); $serviceDownloadableModel->loadBean(new \RedBeanPHP\OODBBean()); $successfullyUploadedFileCount = 0; $requestMock = $this->getMockBuilder('\\Box_Request')->getMock(); $requestMock->expects($this->atLeastOnce())->method('hasFiles')->will($this->returnValue($successfullyUploadedFileCount)); $di = new \Box_Di(); $di['request'] = $requestMock; $this->service->setDi($di); $this->setExpectedException('\\Box_Exception', 'Error uploading file'); $this->service->updateProductFile($serviceDownloadableModel, $orderModel); }
public function testupdateOrderMeta() { $meta = array('key' => 'value'); $di = new \Box_Di(); $dBMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dBMock->expects($this->atLeastOnce())->method('findOne')->with('ClientOrderMeta')->willReturn(null); $clientOrderMetaModel = new \Model_ClientOrderMeta(); $clientOrderMetaModel->loadBean(new \RedBeanPHP\OODBBean()); $dBMock->expects($this->atLeastOnce())->method('dispense')->with('ClientOrderMeta')->willReturn($clientOrderMetaModel); $dBMock->expects($this->atLeastOnce())->method('store'); $di['db'] = $dBMock; $this->service->setDi($di); $clientOrder = new \Model_ClientOrder(); $clientOrder->loadBean(new \RedBeanPHP\OODBBean()); $result = $this->service->updateOrderMeta($clientOrder, $meta); $this->assertEquals(2, $result); }
public function testGetActiveTicketsCountForOrder() { $dbMock = $this->getMockBuilder('\\Box_Database')->disableOriginalConstructor()->getMock(); $dbMock->expects($this->atLeastOnce())->method('getCell')->will($this->returnValue(rand(1, 100))); $di = new \Box_Di(); $di['db'] = $dbMock; $this->service->setDi($di); $order = new \Model_ClientOrder(); $order->loadBean(new \RedBeanPHP\OODBBean()); $result = $this->service->getActiveTicketsCountForOrder($order); $this->assertInternalType('integer', $result); }
public function testActionDelete() { $tldModel = new \Model_Tld(); $tldModel->loadBean(new \RedBeanPHP\OODBBean()); $tldModel->tld_registrar_id = rand(1, 100); $domainModel = new \Model_ServiceDomain(); $domainModel->loadBean(new \RedBeanPHP\OODBBean()); $domainModel->tld_registrar_id = rand(1, 100); $domainModel->action = 'register'; $orderServiceMock = $this->getMockBuilder('\\Box\\Mod\\Order\\Service')->setMethods(array('getOrderService'))->getMock(); $orderServiceMock->expects($this->atLeastOnce())->method('getOrderService')->will($this->returnValue($domainModel)); $registrarAdapterMock = $this->getMockBuilder('Registrar_Adapter_Custom')->disableOriginalConstructor()->getMock(); $registrarAdapterMock->expects($this->atLeastOnce())->method('deleteDomain')->will($this->returnValue(null)); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Servicedomain\\Service')->setMethods(array('_getD'))->getMock(); $serviceMock->expects($this->atLeastOnce())->method('_getD')->will($this->returnValue(array(new \Registrar_Domain(), $registrarAdapterMock))); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('trash')->will($this->returnValue(null)); $di = new \Box_Di(); $di['mod_service'] = $di->protect(function ($name) use($orderServiceMock) { return $orderServiceMock; }); $di['db'] = $dbMock; $serviceMock->setDi($di); $order = new \Model_ClientOrder(); $order->loadBean(new \RedBeanPHP\OODBBean()); $order->status = \Model_ClientOrder::STATUS_ACTIVE; $result = $serviceMock->action_delete($order); $this->assertNull($result); }
public function testActionDelete() { $order = new \Model_ClientOrder(); $order->loadBean(new \RedBeanPHP\OODBBean()); $order->client_id = rand(1, 100); $order->config = 'config'; $serviceCustomModel = new \Model_ServiceCustom(); $serviceCustomModel->loadBean(new \RedBeanPHP\OODBBean()); $serviceCustomModel->plugin = ''; $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Order\\Service')->setMethods(array('getOrderService'))->getMock(); $serviceMock->expects($this->atLeastOnce())->method('getOrderService')->will($this->returnValue($serviceCustomModel)); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('trash')->will($this->returnValue(null)); $di = new \Box_Di(); $di['db'] = $dbMock; $di['mod_service'] = $di->protect(function () use($serviceMock) { return $serviceMock; }); $this->service->setDi($di); $result = $this->service->action_delete($order); $this->assertTrue($result); }
public function testgenerateInvoicesForExpiringOrders() { $clientOrder = new \Model_ClientOrder(); $clientOrder->loadBean(new \RedBeanPHP\OODBBean()); $invoiceModel = new \Model_Invoice(); $invoiceModel->loadBean(new \RedBeanPHP\OODBBean()); $newId = 4; $invoiceModel->id = $newId; $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Invoice\\Service')->setMethods(array('generateForOrder', 'approveInvoice'))->getMock(); $serviceMock->expects($this->once())->method('approveInvoice'); $serviceMock->expects($this->once())->method('generateForOrder')->will($this->returnValue($invoiceModel)); $orderService = $this->getMockBuilder('\\Box\\Mod\\Order\\Service')->getMock(); $orderService->expects($this->atLeastOnce())->method('getSoonExpiringActiveOrders')->will($this->returnValue(array($clientOrder))); $di = new \Box_Di(); $di['mod_service'] = $di->protect(function () use($orderService) { return $orderService; }); $di['logger'] = new \Box_Log(); $serviceMock->setDi($di); $result = $serviceMock->generateInvoicesForExpiringOrders(); $this->assertInternalType('bool', $result); $this->assertTrue($result); }
public function testcanChangeCurrencyHasOrder() { $currency = 'EUR'; $model = new \Model_Client(); $model->loadBean(new \RedBeanPHP\OODBBean()); $model->id = rand(1, 100); $model->currency = 'USD'; $clientOrderModel = new \Model_ClientOrder(); $clientOrderModel->loadBean(new \RedBeanPHP\OODBBean()); $database = $this->getMockBuilder('\\Box_Database')->getMock(); $database->expects($this->at(0))->method('findOne')->will($this->returnValue(null)); $database->expects($this->at(1))->method('findOne')->will($this->returnValue($clientOrderModel)); $di = new \Box_Di(); $di['db'] = $database; $clientService = new \Box\Mod\Client\Service(); $clientService->setDi($di); $this->setExpectedException('\\Box_Exception', 'Currency can not be changed. Client already have orders.'); $clientService->canChangeCurrency($model, $currency); }
public function testrenewal_invoiceOrderIsFree() { $data = array('id' => 1); $validatorMock = $this->getMockBuilder('\\Box_Validate')->getMock(); $validatorMock->expects($this->atLeastOnce())->method('checkRequiredParamsForArray'); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $model = new \Model_ClientOrder(); $model->loadBean(new \RedBeanPHP\OODBBean()); $model->id = 1; $model->price = 0; $dbMock->expects($this->atLeastOnce())->method('getExistingModelById')->will($this->returnValue($model)); $di = new \Box_Di(); $di['validator'] = $validatorMock; $di['db'] = $dbMock; $this->api->setDi($di); $this->setExpectedException('\\Box_Exception', sprintf('Order %d is free. No need to generate invoice.', $model->id)); $this->api->renewal_invoice($data); }
public function testgetExpirationDate() { $expected = '2004-02-12 15:19:21'; $clientOrderModel = new \Model_ClientOrder(); $clientOrderModel->loadBean(new \RedBeanPHP\OODBBean()); $clientOrderModel->expires_at = $expected; $serviceLicenseModel = new \Model_ServiceLicense(); $serviceLicenseModel->loadBean(new \RedBeanPHP\OODBBean()); $orderServiceMock = $this->getMockBuilder('\\Box\\Mod\\Order\\Service')->getMock(); $orderServiceMock->expects($this->atLeastOnce())->method('getServiceOrder')->will($this->returnValue($clientOrderModel)); $di = new \Box_Di(); $di['mod_service'] = $di->protect(function () use($orderServiceMock) { return $orderServiceMock; }); $this->service->setDi($di); $result = $this->service->getExpirationDate($serviceLicenseModel); $this->assertInternalType('string', $result); $this->assertEquals($expected, $result); }
public function testGetOrder() { $validatorMock = $this->getMockBuilder('\\Box_Validate')->disableOriginalConstructor()->getMock(); $validatorMock->expects($this->atLeastOnce())->method('checkRequiredParamsForArray')->will($this->returnValue(null)); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Order\\Service')->setMethods(array('toApiArray'))->getMock(); $serviceMock->expects($this->atLeastOnce())->method('toApiArray')->will($this->returnValue(array())); $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)); $di = new Box_Di(); $di['validator'] = $validatorMock; $di['db'] = $dbMock; $this->api->setDi($di); $this->api->setService($serviceMock); $data = array('id' => rand(1, 100)); $result = $this->api->get($data); }
public function testgetServerManagerWithLog() { $hostingServerModel = new \Model_ServiceHostingServer(); $hostingServerModel->loadBean(new \RedBeanPHP\OODBBean()); $hostingServerModel->manager = 'Custom'; $clientOrderModel = new \Model_ClientOrder(); $clientOrderModel->loadBean(new \RedBeanPHP\OODBBean()); $serverManagerMock = $this->getMockBuilder('\\Server_Manager_Custom')->disableOriginalConstructor()->getMock(); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Servicehosting\\Service')->setMethods(array('getServerManager'))->getMock(); $serviceMock->expects($this->atLeastOnce())->method('getServerManager')->will($this->returnValue($serverManagerMock)); $orderServiceMock = $this->getMockBuilder('\\Box\\Mod\\Order\\Service')->getMock(); $orderServiceMock->expects($this->atLeastOnce())->method('getLogger')->will($this->returnValue(new \Box_Log())); $di = new \Box_Di(); $di['mod_service'] = $di->protect(function () use($orderServiceMock) { return $orderServiceMock; }); $serviceMock->setDi($di); $result = $serviceMock->getServerManagerWithLog($hostingServerModel, $clientOrderModel); $this->assertInstanceOf('\\Server_Manager_Custom', $result); }
/** * @expectedException \Box_Exception */ public function testGetOrderNotFoundException() { $validatorMock = $this->getMockBuilder('\\Box_Validate')->disableOriginalConstructor()->getMock(); $validatorMock->expects($this->atLeastOnce())->method('checkRequiredParamsForArray')->will($this->returnValue(null)); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Order\\Service')->setMethods(array('findForClientById', 'toApiArray'))->getMock(); $serviceMock->expects($this->atLeastOnce())->method('findForClientById')->will($this->returnValue(null)); $serviceMock->expects($this->never())->method('toApiArray')->will($this->returnValue(array())); $order = new \Model_ClientOrder(); $order->loadBean(new \RedBeanPHP\OODBBean()); $client = new Model_Client(); $client->loadBean(new \RedBeanPHP\OODBBean()); $di = new Box_Di(); $di['validator'] = $validatorMock; $this->api->setDi($di); $this->api->setService($serviceMock); $this->api->setIdentity($client); $data = array('id' => rand(1, 100)); $this->api->get($data); }