Added first few test cases
This commit is contained in:
parent
422e6be3f4
commit
42d43c947f
@ -78,6 +78,7 @@ class LiteDb
|
||||
call_user_func($upgradeHandler, $this, $this->version);
|
||||
// Write the new version number to the database
|
||||
$this->dbSetMeta(self::META_SCHEMA_VERSION, $version);
|
||||
$this->version = $version;
|
||||
}
|
||||
|
||||
// Refresh the database version, for debug purposes
|
||||
@ -179,6 +180,16 @@ class LiteDb
|
||||
return $this->stores[$storeName];
|
||||
}
|
||||
|
||||
public function hasStore(string $storeName): bool
|
||||
{
|
||||
return array_key_exists($storeName, $this->storeMeta);
|
||||
}
|
||||
|
||||
public function getVersion(): int
|
||||
{
|
||||
return $this->version;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string
|
||||
|
49
tests/LiteDbTest.php
Normal file
49
tests/LiteDbTest.php
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace NoccyLabs\LiteDb;
|
||||
|
||||
class LiteDbText extends \PhpUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
public function testCreatingNewDatabase()
|
||||
{
|
||||
if (file_exists("/tmp/litedbtest.db"))
|
||||
unlink("/tmp/litedbtest.db");
|
||||
$db = new LiteDb("/tmp/litedbtest.db", 1, function ($db, $v) {
|
||||
$db->createStore("test");
|
||||
});
|
||||
$this->assertTrue($db->hasStore("test"));
|
||||
$this->assertFalse($db->hasStore("test2"));
|
||||
$this->assertEquals(1, $db->getVersion());
|
||||
}
|
||||
|
||||
public function testUpgradingDatabase()
|
||||
{
|
||||
$db = new LiteDb("/tmp/litedbtest.db", 2, function ($db, $v) {
|
||||
$db->createStore("test2");
|
||||
});
|
||||
$this->assertTrue($db->hasStore("test"));
|
||||
$this->assertTrue($db->hasStore("test2"));
|
||||
$this->assertEquals(2, $db->getVersion());
|
||||
}
|
||||
|
||||
public function testUsingIndexes()
|
||||
{
|
||||
$db = new LiteDb("/tmp/litedbtest.db", 3, function ($db, $v) {
|
||||
$db->createStore("test3")
|
||||
->addIndex("foo", [ 'unique'=>true, 'primary'=>true ]);
|
||||
});
|
||||
$this->assertTrue($db->hasStore("test3"));
|
||||
$this->assertEquals(3, $db->getVersion());
|
||||
|
||||
$store = $db->getStore("test3");
|
||||
$this->assertInstanceOf(ObjectStore::class, $store);
|
||||
|
||||
$store->add([ 'foo'=>42, 'bar'=>314 ]);
|
||||
|
||||
$record = $store->get(42);
|
||||
|
||||
$this->assertEquals(['foo'=>42, 'bar'=>314], $record);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user