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);
 }
Example #2
0
 /**
  * @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);
 }
Example #3
0
 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);
 }
Example #4
0
 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);
 }
Example #5
0
 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);
 }
Example #6
0
 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);
 }
Example #7
0
 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);
 }
Example #8
0
 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);
 }
Example #9
0
 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);
 }
Example #10
0
 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);
 }
Example #11
0
 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);
 }
Example #12
0
 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);
 }
Example #13
0
 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);
 }
Example #14
0
 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);
 }
Example #15
0
 /**
  * @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);
 }