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(); $row2 = new Model(); $row2->setTable("test"); $row2->col1 = "test2"; $row2->date1 = new \DateTime(); $ret2 = $row2->save(); expect($ret)->toBe(true); expect($ret2)->toBe(true); }); test("querybuilder", function() { $qb = new QueryBuilder("test"); $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",">",2)->columns("*")->get(); expect($rows)->toBeArray(); expect(count($rows))->toBe(0); $qb->reset(); $rows = $qb->whereRaw("id = 1")->columns("*")->get(); expect($rows)->toBeArray(); expect(count($rows))->toBe(1); $qb->reset(); $rows = $qb->whereRaw("id = 1")->get(); expect($rows)->toBeArray(); expect(count($rows))->toBe(1); }); test("order by", function(){ $qb = new QueryBuilder("test"); $rows = $qb->orderBy("id","DESC")->get(); expect($rows)->toBeArray(); expect(count($rows))->toBe(2); expect($rows[0]->col1)->toBe("test2"); }); test("group by", function(){ $qb = new QueryBuilder("test"); $rows = $qb->columns("COUNT(*) as Nb")->get(); expect($rows)->toBeArray(); expect(count($rows))->toBe(1); expect($rows[0]->Nb)->toBe(2); $qb->reset(); $rows = $qb->columns("COUNT(*) as Nb")->groupBy("id")->get(); expect($rows)->toBeArray(); expect(count($rows))->toBe(2); expect($rows[0]->Nb)->toBe(1); }); test("update row", function() { $qb = new QueryBuilder("test","id"); $row = $qb->find(1); $row->col1 = "testupdate"; $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("testupdate"); });