@@ -16,7 +16,7 @@ public function can_filter_eq()
16
16
{
17
17
$ filter = new BooleanFilter ;
18
18
$ builder = Pet::query ()->getQuery ();
19
- $ filter ->modifyQuery ($ builder , $ this ->searchTerm ('eq ' , true ));
19
+ $ filter ->modifyQuery ($ builder , $ this ->searchTerm ('eq ' , ' true ' ));
20
20
21
21
$ this ->assertEquals (
22
22
"select * from `pets` where `is_active` = ? " ,
@@ -32,7 +32,7 @@ public function can_filter_neq()
32
32
{
33
33
$ filter = new BooleanFilter ;
34
34
$ builder = Pet::query ()->getQuery ();
35
- $ filter ->modifyQuery ($ builder , $ this ->searchTerm ('neq ' , true ));
35
+ $ filter ->modifyQuery ($ builder , $ this ->searchTerm ('neq ' , ' true ' ));
36
36
37
37
$ this ->assertEquals (
38
38
"select * from `pets` where `is_active` != ? " ,
@@ -46,10 +46,9 @@ public function can_filter_neq()
46
46
*/
47
47
public function can_override_true_and_false_val ()
48
48
{
49
-
50
49
$ filter = new BooleanFilter ('yes ' , 'no ' );
51
50
$ builder = Pet::query ()->getQuery ();
52
- $ filter ->modifyQuery ($ builder , $ this ->searchTerm ('eq ' , true ));
51
+ $ filter ->modifyQuery ($ builder , $ this ->searchTerm ('eq ' , ' true ' ));
53
52
54
53
$ this ->assertEquals (
55
54
"select * from `pets` where `is_active` = ? " ,
@@ -58,6 +57,22 @@ public function can_override_true_and_false_val()
58
57
$ this ->assertEquals (['yes ' ], $ builder ->getBindings ());
59
58
}
60
59
60
+ /**
61
+ * @test
62
+ */
63
+ public function can_handle_false_in_url_string_as_boolean ()
64
+ {
65
+ $ filter = new BooleanFilter ;
66
+ $ builder = Pet::query ()->getQuery ();
67
+ $ filter ->modifyQuery ($ builder , $ this ->searchTerm ('eq ' , 'false ' ));
68
+
69
+ $ this ->assertEquals (
70
+ "select * from `pets` where `is_active` = ? " ,
71
+ $ builder ->toSql ()
72
+ );
73
+ $ this ->assertEquals ([0 ], $ builder ->getBindings ());
74
+ }
75
+
61
76
private function searchTerm ($ operator , $ term )
62
77
{
63
78
return new SearchTerm ('is_active ' , $ operator , 'is_active ' , $ term );
0 commit comments