Exemple #1
0
 public function testbalance_get_list()
 {
     $data = array();
     $model = new \Model_Client();
     $model->loadBean(new \RedBeanPHP\OODBBean());
     $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Client\\ServiceBalance')->getMock();
     $serviceMock->expects($this->atLeastOnce())->method('getSearchQuery')->will($this->returnValue(array('sql', array())));
     $simpleResultArr = array('list' => array(array('id' => 1)));
     $pagerMock = $this->getMockBuilder('\\Box_Pagination')->disableOriginalConstructor()->getMock();
     $pagerMock->expects($this->atLeastOnce())->method('getSimpleResultSet')->will($this->returnValue($simpleResultArr));
     $model = new \Model_ClientBalance();
     $model->loadBean(new \RedBeanPHP\OODBBean());
     $dbMock = $this->getMockBuilder('\\Box_Database')->getMock();
     $dbMock->expects($this->atLeastOnce())->method('getExistingModelById')->will($this->returnValue($model));
     $di = new \Box_Di();
     $di['mod_service'] = $di->protect(function ($name) use($serviceMock) {
         return $serviceMock;
     });
     $di['pager'] = $pagerMock;
     $di['db'] = $dbMock;
     $di['array_get'] = $di->protect(function (array $array, $key, $default = null) use($di) {
         return isset($array[$key]) ? $array[$key] : $default;
     });
     $client = new \Box\Mod\Client\Api\Client();
     $client->setDi($di);
     $client->setService($serviceMock);
     $client->setIdentity($model);
     $result = $client->balance_get_list($data);
     $this->assertInternalType('array', $result);
 }
 public function testdeductFunds()
 {
     $di = new \Box_Di();
     $clientBalance = new \Model_ClientBalance();
     $clientBalance->loadBean(new \RedBeanPHP\OODBBean());
     $dbMock = $this->getMockBuilder('\\Box_Database')->getMock();
     $dbMock->expects($this->atLeastOnce())->method('dispense')->with('ClientBalance')->willReturn($clientBalance);
     $dbMock->expects($this->atLeastOnce())->method('store')->with($clientBalance);
     $di['db'] = $dbMock;
     $di['array_get'] = $di->protect(function (array $array, $key, $default = null) use($di) {
         return isset($array[$key]) ? $array[$key] : $default;
     });
     $service = new \Box\Mod\Client\ServiceBalance();
     $service->setDi($di);
     $clientModel = new \Model_Client();
     $clientModel->loadBean(new \RedBeanPHP\OODBBean());
     $description = 'Charged for product';
     $amount = 5.55;
     $extra = array('rel_id' => 1);
     $result = $service->deductFunds($clientModel, $amount, $description, $extra);
     $this->assertInstanceOf('\\Model_ClientBalance', $result);
     $this->assertEquals(-$amount, $result->amount);
     $this->assertEquals($description, $result->description);
     $this->assertEquals($extra['rel_id'], $result->rel_id);
     $this->assertEquals('default', $result->type);
 }
 public function testdebitTransaction()
 {
     $currency = 'EUR';
     $invoiceModel = new \Model_Invoice();
     $invoiceModel->loadBean(new \RedBeanPHP\OODBBean());
     $invoiceModel->currency = $currency;
     $clientModdel = new \Model_Client();
     $clientModdel->loadBean(new \RedBeanPHP\OODBBean());
     $clientModdel->currency = $currency;
     $transactionModel = new \Model_Transaction();
     $transactionModel->loadBean(new \RedBeanPHP\OODBBean());
     $transactionModel->amount = 11;
     $clientBalanceModel = new \Model_ClientBalance();
     $clientBalanceModel->loadBean(new \RedBeanPHP\OODBBean());
     $dbMock = $this->getMockBuilder('\\Box_Database')->getMock();
     $dbMock->expects($this->atLeastOnce())->method('load')->will($this->onConsecutiveCalls($invoiceModel, $clientModdel));
     $dbMock->expects($this->atLeastOnce())->method('dispense')->will($this->returnValue($clientBalanceModel));
     $dbMock->expects($this->atLeastOnce())->method('store');
     $di = new \Box_Di();
     $di['db'] = $dbMock;
     $this->service->setDi($di);
     $this->service->debitTransaction($transactionModel);
 }
Exemple #4
0
 public function testaddFunds()
 {
     $modelClient = new \Model_Client();
     $modelClient->loadBean(new \RedBeanPHP\OODBBean());
     $modelClient->currency = 'USD';
     $model = new \Model_ClientBalance();
     $model->loadBean(new \RedBeanPHP\OODBBean());
     $amount = '2.22';
     $description = 'test description';
     $database = $this->getMockBuilder('\\Box_Database')->getMock();
     $database->expects($this->atLeastOnce())->method('dispense')->will($this->returnValue($model));
     $di = new \Box_Di();
     $di['db'] = $database;
     $di['array_get'] = $di->protect(function (array $array, $key, $default = null) use($di) {
         return isset($array[$key]) ? $array[$key] : $default;
     });
     $clientService = new \Box\Mod\Client\Service();
     $clientService->setDi($di);
     $result = $clientService->addFunds($modelClient, $amount, $description);
     $this->assertTrue($result);
 }
Exemple #5
0
 public function testbalance_delete()
 {
     $data = array('id' => 1);
     $model = new \Model_ClientBalance();
     $model->loadBean(new \RedBeanPHP\OODBBean());
     $dbMock = $this->getMockBuilder('\\Box_Database')->getMock();
     $dbMock->expects($this->atLeastOnce())->method('getExistingModelById')->will($this->returnValue($model));
     $dbMock->expects($this->atLeastOnce())->method('trash');
     $di = new \Box_Di();
     $di['db'] = $dbMock;
     $di['logger'] = new \Box_Log();
     $validatorMock = $this->getMockBuilder('\\Box_Validate')->disableOriginalConstructor()->getMock();
     $validatorMock->expects($this->atLeastOnce())->method('checkRequiredParamsForArray')->will($this->returnValue(null));
     $di['validator'] = $validatorMock;
     $admin_Client = new \Box\Mod\Client\Api\Admin();
     $admin_Client->setDi($di);
     $result = $admin_Client->balance_delete($data);
     $this->assertTrue($result);
 }