61 lines
1.4 KiB
PHP
61 lines
1.4 KiB
PHP
<?php
|
|
|
|
use Kletellier\PdoWrapper\Db;
|
|
use Kletellier\PdoWrapper\Model;
|
|
use Kletellier\PdoWrapper\QueryBuilder;
|
|
|
|
test("create db",function () {
|
|
$dir = getcwd();
|
|
$db = Db::init($dir);
|
|
$ret = $db->executeRawQuery("CREATE TABLE test (id INTEGER PRIMARY KEY AUTOINCREMENT, col1 VARCHAR, date1 DATETIME);");
|
|
expect($ret)->toBe(true);
|
|
});
|
|
|
|
test("insert row",function () {
|
|
|
|
$row = new Model();
|
|
$row->setTable("test");
|
|
$row->col1 = "test";
|
|
$row->date1 = new \DateTime();
|
|
$ret = $row->save();
|
|
|
|
expect($ret)->toBe(true);
|
|
});
|
|
|
|
test("querybuilder", function() {
|
|
$qb = new QueryBuilder("test","id");
|
|
$row = $qb->find(1);
|
|
|
|
expect($row)->toBeObject();
|
|
expect($row->col1)->toBe("test");
|
|
expect($row->id)->toBe(1);
|
|
|
|
$qb->reset();
|
|
$rows = $qb->where("id",1)->columns("*")->get();
|
|
|
|
expect($rows)->toBeArray();
|
|
expect(count($rows))->toBe(1);
|
|
|
|
$qb->reset();
|
|
$rows = $qb->where("id",">",1)->columns("*")->get();
|
|
|
|
expect($rows)->toBeArray();
|
|
expect(count($rows))->toBe(0);
|
|
});
|
|
|
|
test("update row", function() {
|
|
$qb = new QueryBuilder("test","id");
|
|
$row = $qb->find(1);
|
|
|
|
$row->col1 = "test2";
|
|
$res = $row->save();
|
|
|
|
expect($res)->toBe(true);
|
|
|
|
$qb->reset();
|
|
$rows = $qb->where("id",1)->columns("*")->get();
|
|
expect($rows)->toBeArray();
|
|
expect(count($rows))->toBe(1);
|
|
expect($rows[0]->col1)->toBe("test2");
|
|
});
|