diff options
author | Simon Holywell <[email protected]> | 2014-05-28 15:22:59 +0100 |
---|---|---|
committer | Simon Holywell <[email protected]> | 2014-05-28 15:22:59 +0100 |
commit | de4a611d5c3676e3b505c4a6812ccc91ec049d61 (patch) | |
tree | 9c4523af5600d021cb3c1c6b786fb54ebbd471f5 /test/QueryBuilderTest.php | |
parent | a1b30b9a8889110e5e6bbad06efe36ed0454468a (diff) | |
parent | 3f86f09173e4acf0443018121207cffb0e4fe6c7 (diff) |
Merge pull request #201 from lrlopez/where_any_is
Multiple OR'ed conditions support
Diffstat (limited to 'test/QueryBuilderTest.php')
-rw-r--r-- | test/QueryBuilderTest.php | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/QueryBuilderTest.php b/test/QueryBuilderTest.php index 3f71bb3..24630d9 100644 --- a/test/QueryBuilderTest.php +++ b/test/QueryBuilderTest.php @@ -82,6 +82,30 @@ class QueryBuilderTest extends PHPUnit_Framework_TestCase { $this->assertEquals($expected, ORM::get_last_query()); } + public function testWhereAnyIs() { + ORM::for_table('widget')->where_any_is(array( + array('name' => 'Joe', 'age' => 10), + array('name' => 'Fred', 'age' => 20)))->find_many(); + $expected = "SELECT * FROM `widget` WHERE (( `name` = 'Joe' AND `age` = '10' ) OR ( `name` = 'Fred' AND `age` = '20' ))"; + $this->assertEquals($expected, ORM::get_last_query()); + } + + public function testWhereAnyIsOverrideOneColumn() { + ORM::for_table('widget')->where_any_is(array( + array('name' => 'Joe', 'age' => 10), + array('name' => 'Fred', 'age' => 20)), array('age' => '>'))->find_many(); + $expected = "SELECT * FROM `widget` WHERE (( `name` = 'Joe' AND `age` > '10' ) OR ( `name` = 'Fred' AND `age` > '20' ))"; + $this->assertEquals($expected, ORM::get_last_query()); + } + + public function testWhereAnyIsOverrideAllOperators() { + ORM::for_table('widget')->where_any_is(array( + array('score' => '5', 'age' => 10), + array('score' => '15', 'age' => 20)), '>')->find_many(); + $expected = "SELECT * FROM `widget` WHERE (( `score` > '5' AND `age` > '10' ) OR ( `score` > '15' AND `age` > '20' ))"; + $this->assertEquals($expected, ORM::get_last_query()); + } + public function testLimit() { ORM::for_table('widget')->limit(5)->find_many(); $expected = "SELECT * FROM `widget` LIMIT 5"; |