From fe6d2f27b867de8851997c3475d1b40cd3dcec65 Mon Sep 17 00:00:00 2001 From: Gregory Letellier Date: Tue, 31 Oct 2023 10:47:11 +0100 Subject: [PATCH] =?UTF-8?q?ajout=20retour=20en=20collection,=20modificatio?= =?UTF-8?q?n=20des=20tests=20en=20cons=C3=A9quences?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/QueryBuilder.php | 4 ++-- tests/DbTest.php | 31 ++++++++++++++++--------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/QueryBuilder.php b/src/QueryBuilder.php index 562dcae..ced14e5 100644 --- a/src/QueryBuilder.php +++ b/src/QueryBuilder.php @@ -124,7 +124,7 @@ class QueryBuilder $this->columns = ["*"]; $data = $this->getData(); if (count($data) > 0) { - return $this->prepareModels($data)[0]; + return $this->prepareModels($data)->first(); } return null; } @@ -172,7 +172,7 @@ class QueryBuilder $model = new Model(); $ret[] = $model->setPk($this->pk)->setTable($this->table)->fillData($row); } - return $ret; + return new Collection($ret); } private function getData(): mixed diff --git a/tests/DbTest.php b/tests/DbTest.php index 981f446..5690a21 100644 --- a/tests/DbTest.php +++ b/tests/DbTest.php @@ -1,5 +1,6 @@ reset(); $rows = $qb->where("id",1)->columns("*")->get(); - expect($rows)->toBeArray(); + expect($rows)->toBeInstanceOf(Collection::class); expect(count($rows))->toBe(1); $qb->reset(); $rows = $qb->where("id",">",2)->columns("*")->get(); - expect($rows)->toBeArray(); + expect($rows)->toBeInstanceOf(Collection::class); expect(count($rows))->toBe(0); $qb->reset(); $rows = $qb->whereRaw("id = 1")->columns("*")->get(); - expect($rows)->toBeArray(); + expect($rows)->toBeInstanceOf(Collection::class); expect(count($rows))->toBe(1); $qb->reset(); $rows = $qb->whereRaw("id = 1")->get(); - expect($rows)->toBeArray(); + expect($rows)->toBeInstanceOf(Collection::class); expect(count($rows))->toBe(1); }); @@ -69,25 +70,25 @@ test("order by", function(){ $qb = new QueryBuilder("test"); $rows = $qb->orderBy("id","DESC")->get(); - expect($rows)->toBeArray(); + expect($rows)->toBeInstanceOf(Collection::class); expect(count($rows))->toBe(2); - expect($rows[0]->col1)->toBe("test2"); + expect($rows->first()->col1)->toBe("test2"); }); test("group by", function(){ $qb = new QueryBuilder("test"); $rows = $qb->columns("COUNT(*) as Nb")->get(); - expect($rows)->toBeArray(); + expect($rows)->toBeInstanceOf(Collection::class); expect(count($rows))->toBe(1); - expect($rows[0]->Nb)->toBe(2); + expect($rows->first()->Nb)->toBe(2); $qb->reset(); $rows = $qb->columns("COUNT(*) as Nb")->groupBy("id")->get(); - expect($rows)->toBeArray(); + expect($rows)->toBeInstanceOf(Collection::class); expect(count($rows))->toBe(2); - expect($rows[0]->Nb)->toBe(1); + expect($rows->first()->Nb)->toBe(1); }); test("update row", function() { @@ -99,9 +100,9 @@ test("update row", function() { $qb->reset(); $rows = $qb->where("id",1)->columns("*")->get(); - expect($rows)->toBeArray(); + expect($rows)->toBeInstanceOf(Collection::class); expect(count($rows))->toBe(1); - expect($rows[0]->col1)->toBe("testupdate"); + expect($rows->first()->col1)->toBe("testupdate"); }); test("event", function() { @@ -134,12 +135,12 @@ test("where array", function() { $between = $qb->whereBetween("id",2,3)->get(); expect(count($between))->toBe(2); - expect($between[0]->id)->toBe(2); + expect($between->first()->id)->toBe(2); $qb->reset(); $in = $qb->whereIn("id",[2,3])->get(); expect(count($in))->toBe(2); - expect($in[0]->id)->toBe(2); + expect($in->first()->id)->toBe(2); }); @@ -164,6 +165,6 @@ test("second connection", function() { $qb = new QueryBuilder("test","id","contwo"); $rows = $qb->get(); - expect($rows)->toBeArray(); + expect($rows)->toBeInstanceOf(Collection::class); expect(count($rows))->toBe(2); }); \ No newline at end of file