/**
  * @expectedException \Crak\Component\ExchangeRates\Exception\CannotRetrieveIMFRatesException
  */
 public function testShouldThrowExceptionWhenIMFRepositoryCantGetRates()
 {
     $curlRepository = $this->getMock(CurlRepository::CLASS_NAME);
     $curlRepository->expects($this->once())->method('get')->willReturn(false);
     $repository = new IMFRepository($curlRepository);
     $repository->getRates(new \DateTime());
 }
Example #2
0
 /**
  * @param \DateTime $date = null
  *
  * @return array
  */
 public function getRates(\DateTime $date = null)
 {
     if (is_null($date)) {
         $date = new \DateTime();
     }
     $rates = $this->repository->getRates($date);
     if (empty($rates) && $this->repository instanceof PDORepository) {
         $repository = new Repository\IMFRepository();
         $rates = $repository->getRates($date);
         $this->repository->saveRates($date, $rates);
     }
     return $rates;
 }