diff options
Diffstat (limited to 'tests/units/Model/CurrencyTest.php')
-rw-r--r-- | tests/units/Model/CurrencyTest.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/units/Model/CurrencyTest.php b/tests/units/Model/CurrencyTest.php new file mode 100644 index 00000000..ee11c0fb --- /dev/null +++ b/tests/units/Model/CurrencyTest.php @@ -0,0 +1,46 @@ +<?php + +require_once __DIR__.'/../Base.php'; + +use Kanboard\Model\Currency; + +class CurrencyTest extends Base +{ + public function testGetAll() + { + $currencyModel = new Currency($this->container); + $currencies = $currencyModel->getAll(); + $this->assertCount(0, $currencies); + + $this->assertNotFalse($currencyModel->create('USD', 9.9)); + $currencies = $currencyModel->getAll(); + $this->assertCount(1, $currencies); + $this->assertEquals('USD', $currencies[0]['currency']); + $this->assertEquals(9.9, $currencies[0]['rate']); + } + + public function testCreate() + { + $currencyModel = new Currency($this->container); + $this->assertNotFalse($currencyModel->create('EUR', 1.2)); + $this->assertNotFalse($currencyModel->create('EUR', 1.5)); + } + + public function testUpdate() + { + $currencyModel = new Currency($this->container); + $this->assertNotFalse($currencyModel->create('EUR', 1.1)); + $this->assertNotFalse($currencyModel->update('EUR', 2.2)); + } + + public function testGetPrice() + { + $currencyModel = new Currency($this->container); + + $this->assertEquals(123, $currencyModel->getPrice('USD', 123)); + + $this->assertNotFalse($currencyModel->create('EUR', 0.5)); + $this->assertEquals(50.0, $currencyModel->getPrice('EUR', 100)); + $this->assertEquals(50.0, $currencyModel->getPrice('EUR', 100)); // test with cached result + } +} |