diff options
author | Jamie Matthews <[email protected]> | 2010-10-22 02:25:17 +0100 |
---|---|---|
committer | Jamie Matthews <[email protected]> | 2010-10-22 02:25:17 +0100 |
commit | 234a748983213403120447a81ab3bdda62908c2f (patch) | |
tree | a53ca0d7312f9912619806768b7191ff374976b8 /test/test_queries.php | |
parent | 0a01caf89048cbac58b144029fab2465722cc59c (diff) |
find_one method now adds LIMIT 1 to queries
Diffstat (limited to 'test/test_queries.php')
-rw-r--r-- | test/test_queries.php | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/test/test_queries.php b/test/test_queries.php index 7afc0d5..5122402 100644 --- a/test/test_queries.php +++ b/test/test_queries.php @@ -18,10 +18,14 @@ ORM::for_table('widget')->find_many(); $expected = "SELECT * FROM `widget`"; - Tester::check_equal("Basic unfiltered query", $expected); + Tester::check_equal("Basic unfiltered find_many query", $expected); + + ORM::for_table('widget')->find_one(); + $expected = "SELECT * FROM `widget` LIMIT 1"; + Tester::check_equal("Basic unfiltered find_one query", $expected); ORM::for_table('widget')->find_one(5); - $expected = "SELECT * FROM `widget` WHERE `id` = '5'"; + $expected = "SELECT * FROM `widget` WHERE `id` = '5' LIMIT 1"; Tester::check_equal("Filtering on ID", $expected); ORM::for_table('widget')->count(); @@ -29,19 +33,19 @@ Tester::check_equal("COUNT query", $expected); ORM::for_table('widget')->where('name', 'Fred')->find_one(); - $expected = "SELECT * FROM `widget` WHERE `name` = 'Fred'"; + $expected = "SELECT * FROM `widget` WHERE `name` = 'Fred' LIMIT 1"; Tester::check_equal("Single where clause", $expected); ORM::for_table('widget')->where('name', 'Fred')->where('age', 10)->find_one(); - $expected = "SELECT * FROM `widget` WHERE `name` = 'Fred' AND `age` = '10'"; + $expected = "SELECT * FROM `widget` WHERE `name` = 'Fred' AND `age` = '10' LIMIT 1"; Tester::check_equal("Multiple WHERE clauses", $expected); ORM::for_table('widget')->where_like('name', '%Fred%')->find_one(); - $expected = "SELECT * FROM `widget` WHERE `name` LIKE '%Fred%'"; + $expected = "SELECT * FROM `widget` WHERE `name` LIKE '%Fred%' LIMIT 1"; Tester::check_equal("where_like method", $expected); ORM::for_table('widget')->where_not_like('name', '%Fred%')->find_one(); - $expected = "SELECT * FROM `widget` WHERE `name` NOT LIKE '%Fred%'"; + $expected = "SELECT * FROM `widget` WHERE `name` NOT LIKE '%Fred%' LIMIT 1"; Tester::check_equal("where_not_like method", $expected); ORM::for_table('widget')->where_in('name', array('Fred', 'Joe'))->find_many(); @@ -52,24 +56,24 @@ $expected = "SELECT * FROM `widget` WHERE `name` NOT IN ('Fred', 'Joe')"; Tester::check_equal("where_not_in method", $expected); - ORM::for_table('widget')->limit(5)->find_one(); + ORM::for_table('widget')->limit(5)->find_many(); $expected = "SELECT * FROM `widget` LIMIT 5"; Tester::check_equal("LIMIT clause", $expected); - ORM::for_table('widget')->limit(5)->offset(5)->find_one(); + ORM::for_table('widget')->limit(5)->offset(5)->find_many(); $expected = "SELECT * FROM `widget` LIMIT 5 OFFSET 5"; Tester::check_equal("LIMIT and OFFSET clause", $expected); ORM::for_table('widget')->order_by_desc('name')->find_one(); - $expected = "SELECT * FROM `widget` ORDER BY `name` DESC"; + $expected = "SELECT * FROM `widget` ORDER BY `name` DESC LIMIT 1"; Tester::check_equal("ORDER BY DESC", $expected); ORM::for_table('widget')->order_by_asc('name')->find_one(); - $expected = "SELECT * FROM `widget` ORDER BY `name` ASC"; + $expected = "SELECT * FROM `widget` ORDER BY `name` ASC LIMIT 1"; Tester::check_equal("ORDER BY ASC", $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"; + $expected = "SELECT * FROM `widget` ORDER BY `name` ASC, `age` DESC LIMIT 1"; Tester::check_equal("Multiple ORDER BY", $expected); ORM::for_table('widget')->where('name', 'Fred')->limit(5)->offset(5)->order_by_asc('name')->find_many(); @@ -117,7 +121,7 @@ ORM::configure('id_column', 'primary_key'); ORM::for_table('widget')->find_one(5); - $expected = "SELECT * FROM `widget` WHERE `primary_key` = '5'"; + $expected = "SELECT * FROM `widget` WHERE `primary_key` = '5' LIMIT 1"; Tester::check_equal("Setting: id_column", $expected); ORM::configure('id_column_overrides', array( @@ -126,27 +130,27 @@ )); ORM::for_table('widget')->find_one(5); - $expected = "SELECT * FROM `widget` WHERE `widget_id` = '5'"; + $expected = "SELECT * FROM `widget` WHERE `widget_id` = '5' LIMIT 1"; Tester::check_equal("Setting: id_column_overrides, first test", $expected); ORM::for_table('widget_handle')->find_one(5); - $expected = "SELECT * FROM `widget_handle` WHERE `widget_handle_id` = '5'"; + $expected = "SELECT * FROM `widget_handle` WHERE `widget_handle_id` = '5' LIMIT 1"; Tester::check_equal("Setting: id_column_overrides, second test", $expected); ORM::for_table('widget_nozzle')->find_one(5); - $expected = "SELECT * FROM `widget_nozzle` WHERE `primary_key` = '5'"; + $expected = "SELECT * FROM `widget_nozzle` WHERE `primary_key` = '5' LIMIT 1"; Tester::check_equal("Setting: id_column_overrides, third test", $expected); ORM::for_table('widget')->use_id_column('new_id')->find_one(5); - $expected = "SELECT * FROM `widget` WHERE `new_id` = '5'"; + $expected = "SELECT * FROM `widget` WHERE `new_id` = '5' LIMIT 1"; Tester::check_equal("Instance ID column, first test", $expected); ORM::for_table('widget_handle')->use_id_column('new_id')->find_one(5); - $expected = "SELECT * FROM `widget_handle` WHERE `new_id` = '5'"; + $expected = "SELECT * FROM `widget_handle` WHERE `new_id` = '5' LIMIT 1"; Tester::check_equal("Instance ID column, second test", $expected); ORM::for_table('widget_nozzle')->use_id_column('new_id')->find_one(5); - $expected = "SELECT * FROM `widget_nozzle` WHERE `new_id` = '5'"; + $expected = "SELECT * FROM `widget_nozzle` WHERE `new_id` = '5' LIMIT 1"; Tester::check_equal("Instance ID column, third test", $expected); Tester::report(); |