diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test_queries.php | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/test/test_queries.php b/test/test_queries.php index 329ebc9..0faa592 100644 --- a/test/test_queries.php +++ b/test/test_queries.php @@ -80,6 +80,10 @@ $expected = "SELECT * FROM `widget` ORDER BY `name` ASC LIMIT 1"; Tester::check_equal("ORDER BY ASC", $expected); + ORM::for_table('widget')->order_by_expr('SOUNDEX(`name`)')->find_one(); + $expected = "SELECT * FROM `widget` ORDER BY SOUNDEX(`name`) LIMIT 1"; + Tester::check_equal("ORDER BY expression", $expected); + ORM::for_table('widget')->order_by_asc('name')->order_by_desc('age')->find_one(); $expected = "SELECT * FROM `widget` ORDER BY `name` ASC, `age` DESC LIMIT 1"; Tester::check_equal("Multiple ORDER BY", $expected); @@ -124,9 +128,13 @@ $expected = "SELECT * FROM `widget` WHERE `age` = '18' AND (`name` = 'Fred' OR `name` = 'Bob') AND `size` = 'large'"; Tester::check_equal("Raw WHERE clause in method chain", $expected); + ORM::for_table('widget')->raw_query('SELECT `w`.* FROM `widget` w')->find_many(); + $expected = "SELECT `w`.* FROM `widget` w"; + Tester::check_equal("Raw query", $expected); + ORM::for_table('widget')->raw_query('SELECT `w`.* FROM `widget` w WHERE `name` = ? AND `age` = ?', array('Fred', 5))->find_many(); $expected = "SELECT `w`.* FROM `widget` w WHERE `name` = 'Fred' AND `age` = '5'"; - Tester::check_equal("Raw query", $expected); + Tester::check_equal("Raw query with parameters", $expected); ORM::for_table('widget')->select('name')->find_many(); $expected = "SELECT `name` FROM `widget`"; @@ -206,6 +214,12 @@ Tester::check_equal("Update data", $expected); $widget = ORM::for_table('widget')->find_one(1); + $widget->set(array("name" => "Fred", "age" => 10)); + $widget->save(); + $expected = "UPDATE `widget` SET `name` = 'Fred', `age` = '10' WHERE `id` = '1'"; + Tester::check_equal("Update multiple fields", $expected); + + $widget = ORM::for_table('widget')->find_one(1); $widget->delete(); $expected = "DELETE FROM `widget` WHERE `id` = '1'"; Tester::check_equal("Delete data", $expected); |