@@ -548,4 +548,40 @@ public function testMultipleSortOrder(): void
548
548
$ this ->assertEquals ('John Doe ' , $ subset [1 ]->name );
549
549
$ this ->assertEquals ('Brett Boe ' , $ subset [2 ]->name );
550
550
}
551
+
552
+ public function testDelete (): void
553
+ {
554
+ // Check fixtures
555
+ $ this ->assertEquals (3 , User::where ('title ' , 'admin ' )->count ());
556
+
557
+ // Delete a single document with filter
558
+ User::where ('title ' , 'admin ' )->limit (1 )->delete ();
559
+ $ this ->assertEquals (2 , User::where ('title ' , 'admin ' )->count ());
560
+
561
+ // Delete all with filter
562
+ User::where ('title ' , 'admin ' )->delete ();
563
+ $ this ->assertEquals (0 , User::where ('title ' , 'admin ' )->count ());
564
+
565
+ // Check remaining fixtures
566
+ $ this ->assertEquals (6 , User::count ());
567
+
568
+ // Delete a single document
569
+ User::limit (1 )->delete ();
570
+ $ this ->assertEquals (5 , User::count ());
571
+
572
+ // Delete all
573
+ User::limit (null )->delete ();
574
+ $ this ->assertEquals (0 , User::count ());
575
+ }
576
+
577
+ /**
578
+ * @testWith [0]
579
+ * [2]
580
+ */
581
+ public function testDeleteException (int $ limit ): void
582
+ {
583
+ $ this ->expectException (\LogicException::class);
584
+ $ this ->expectExceptionMessage ('Delete limit can be 1 or null (unlimited). ' );
585
+ User::limit ($ limit )->delete ();
586
+ }
551
587
}
0 commit comments