summaryrefslogtreecommitdiff
path: root/test/QueryBuilderTest.php
diff options
context:
space:
mode:
authorSimon Holywell <[email protected]>2014-05-28 15:22:59 +0100
committerSimon Holywell <[email protected]>2014-05-28 15:22:59 +0100
commitde4a611d5c3676e3b505c4a6812ccc91ec049d61 (patch)
tree9c4523af5600d021cb3c1c6b786fb54ebbd471f5 /test/QueryBuilderTest.php
parenta1b30b9a8889110e5e6bbad06efe36ed0454468a (diff)
parent3f86f09173e4acf0443018121207cffb0e4fe6c7 (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.php24
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";