szuru/tests/Dao/GlobalParamDaoTest.php
2015-11-25 09:48:03 +01:00

68 lines
1.9 KiB
PHP

<?php
namespace Szurubooru\Tests\Dao;
use Szurubooru\Dao\GlobalParamDao;
use Szurubooru\Entities\GlobalParam;
use Szurubooru\Tests\AbstractDatabaseTestCase;
final class GlobalParamDaoTest extends AbstractDatabaseTestCase
{
public function testSettingValues()
{
$expected = new GlobalParam();
$expected->setKey('key');
$expected->setValue('test');
$globalParamDao = $this->getGlobalParamDao();
$globalParamDao->save($expected);
$actual = $globalParamDao->findByKey($expected->getKey());
$this->assertEntitiesEqual($actual, $expected);
}
public function testInsertingSameKeyTwice()
{
$param1 = new GlobalParam();
$param1->setKey('key');
$param1->setValue('value1');
$param2 = new GlobalParam();
$param2->setKey('key');
$param2->setValue('value2');
$globalParamDao = $this->getGlobalParamDao();
$globalParamDao->save($param1);
$globalParamDao->save($param2);
$this->assertEquals([$param2], array_values($globalParamDao->findAll()));
}
public function testUpdatingValues()
{
$expected = new GlobalParam();
$expected->setKey('key');
$expected->setValue('test');
$globalParamDao = $this->getGlobalParamDao();
$globalParamDao->save($expected);
$expected->setKey('key2');
$expected->setValue('test2');
$globalParamDao->save($expected);
$actual = $globalParamDao->findByKey($expected->getKey());
$this->assertEntitiesEqual($actual, $expected);
}
public function testRetrievingUnknownKeys()
{
$globalParamDao = $this->getGlobalParamDao();
$actual = $globalParamDao->findByKey('hey i dont exist');
$this->assertNull($actual);
}
private function getGlobalParamDao()
{
return new GlobalParamDao($this->databaseConnection);
}
}