@@ -693,4 +693,42 @@ public function testDelete()
693
693
$ this ->assertNull ($ cachedResult );
694
694
$ this ->assertNull ($ deletedAuthor );
695
695
}
696
+
697
+ private function processWhereClauseTestWithOperator (string $ operator )
698
+ {
699
+ $ author = (new Author )->first ();
700
+ $ authors = (new Author )
701
+ ->where ('name ' , $ operator , $ author ->name )
702
+ ->get ();
703
+ $ keyParts = [
704
+ 'genealabslaravelmodelcachingtestsfixturesauthor-name ' ,
705
+ '_ ' ,
706
+ str_replace (' ' , '_ ' , strtolower ($ operator )),
707
+ '_ ' ,
708
+ $ author ->name ,
709
+ ];
710
+ $ key = sha1 (implode ('' , $ keyParts ));
711
+ $ tags = ['genealabslaravelmodelcachingtestsfixturesauthor ' ];
712
+
713
+ $ cachedResults = cache ()
714
+ ->tags ($ tags )
715
+ ->get ($ key );
716
+ $ liveResults = (new UncachedAuthor )
717
+ ->where ('name ' , $ operator , $ author ->name )
718
+ ->get ();
719
+
720
+ $ this ->assertEmpty ($ authors ->diffAssoc ($ cachedResults ));
721
+ $ this ->assertEmpty ($ liveResults ->diffAssoc ($ cachedResults ));
722
+ }
723
+
724
+ public function testWhereClauseParsingOfOperators ()
725
+ {
726
+ $ this ->processWhereClauseTestWithOperator ('= ' );
727
+ $ this ->processWhereClauseTestWithOperator ('!= ' );
728
+ $ this ->processWhereClauseTestWithOperator ('<> ' );
729
+ $ this ->processWhereClauseTestWithOperator ('> ' );
730
+ $ this ->processWhereClauseTestWithOperator ('< ' );
731
+ $ this ->processWhereClauseTestWithOperator ('LIKE ' );
732
+ $ this ->processWhereClauseTestWithOperator ('NOT LIKE ' );
733
+ }
696
734
}
0 commit comments