public function testConvertCurrency(UnitTester $I)
 {
     $exchangeRate = new \Zidisha\Currency\ExchangeRate();
     $exchangeRate->setRate(80)->setCurrencyCode(Currency::CODE_KES);
     // convert to USD
     $money = Money::create('160', Currency::CODE_KES);
     $moneyUSD = Money::create('2.0', Currency::CODE_USD);
     verify($this->currencyService->convertToUSD($money, $exchangeRate))->equals($moneyUSD);
     // convert from USD
     $money = Money::create('240', Currency::CODE_KES);
     $moneyUSD = Money::create('3.0', Currency::CODE_USD);
     verify($this->currencyService->convertFromUSD($moneyUSD, Currency::create(Currency::CODE_KES), $exchangeRate))->equals($money);
     $failed = false;
     try {
         $money = Money::create('160', Currency::CODE_XOF);
         $this->currencyService->convertToUSD($money, $exchangeRate);
     } catch (\Zidisha\Currency\Exception\InvalidCurrencyExchangeException $e) {
         $failed = true;
     }
     verify($failed)->true();
     $failed = false;
     try {
         $this->currencyService->convertFromUSD($moneyUSD, Currency::create(Currency::CODE_XOF), $exchangeRate);
     } catch (\Zidisha\Currency\Exception\InvalidCurrencyExchangeException $e) {
         $failed = true;
     }
     verify($failed)->true();
 }
Beispiel #2
0
 public function findCurrent(Currency $currency)
 {
     return $this->filterByCurrencyCode($currency->getCode())->filterByDate(new \DateTime())->findOne();
 }
Beispiel #3
0
 /**
  * @return Money
  */
 public function getTotalBidAmount()
 {
     $total = $this->select(array('total'))->withColumn('SUM(bid_amount)', 'total')->findOne();
     return Money::valueOf($total, Currency::valueOf('USD'));
 }
Beispiel #4
0
 public function getCurrency()
 {
     return Currency::create($this->getCurrencyCode());
 }
Beispiel #5
0
 public function getCurrency()
 {
     return Currency::valueOf($this->getCurrencyCode());
 }
Beispiel #6
0
 public function getExchangeRate(Currency $currency, \DateTime $date = null)
 {
     $date = $date ?: new \DateTime();
     return ExchangeRateQuery::create()->filterByCurrencyCode($currency->getCode())->filterByDate($date)->findOne();
 }