public function finishSmsPayment(Account $account, SmsPayment $payment) { if ($payment->isFinished()) { return; } $transaction = new Transaction($account); $transaction->setAmount($payment->getAmount()); $transaction->setCurrency(CurrencyCode::VIRTUAL); $transaction->setInformation('DoĊadowanie poprzez sms'); $this->bank->deposit($transaction); $payment->setStatus(DotpayPaymentStatus::FINISHED); $this->updateSmsPayment($payment); }
/** * @todo move to better place * * @param type $service * @param type $account */ public function addServiceToAccount($service, $account) { if ($service instanceof VirtualPackage) { $transaction = new Transaction($account); $transaction->enableInvoice(); $transaction->enableLogging(); $transaction->setAmount($service->getCost()); $transaction->setVirtualAmount($service->getAmount()); $transaction->setInformation($service->getDescription()); $transaction->disableExchange(); $this->bank->deposit($transaction); } elseif ($service instanceof SubscriptionService) { $this->sa->add($service, $account); } else { throw new BankException("Unsupported service object class"); } }
public function testGetDepositHistoryQuery() { $qb = $this->getMockBuilder('\\Doctrine\\ORM\\QueryBuilder')->disableOriginalConstructor()->getMock(); $qb->expects($this->once())->method('andWhere')->with('e.account = 99'); $repository = $this->getMockBuilder('\\Doctrine\\ORM\\EntityRepository')->disableOriginalConstructor()->getMock(); $repository->expects($this->once())->method('createQueryBuilder')->with('e')->will($this->returnValue($qb)); $exchanger = $this->getMock('\\Hatimeria\\BankBundle\\Bank\\CurrencyExchanger'); $em = $this->getMockBuilder('\\Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock(); $blm = $this->getMockBuilder('\\Hatimeria\\BankBundle\\Model\\BankLogManager')->disableOriginalConstructor()->getMock(); $blm->expects($this->atLeastOnce())->method('getRepository')->will($this->returnValue($repository)); $bank = new Bank($exchanger, $em, $blm); $account = $this->getAccount(1000); $account->setId(99); $result = $bank->getDepositHistoryQuery($account); $result->andHaving('test'); }