From 12f5475e2b279d1c2361ad5fc85bc2ba0d0f9033 Mon Sep 17 00:00:00 2001 From: Taufan Aditya Date: Fri, 4 May 2012 15:46:39 +0700 Subject: WHERE clause API code-coverage --- .../database/query_builder/where_test.php | 144 +++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 tests/codeigniter/database/query_builder/where_test.php (limited to 'tests/codeigniter/database/query_builder/where_test.php') diff --git a/tests/codeigniter/database/query_builder/where_test.php b/tests/codeigniter/database/query_builder/where_test.php new file mode 100644 index 000000000..607eaa076 --- /dev/null +++ b/tests/codeigniter/database/query_builder/where_test.php @@ -0,0 +1,144 @@ +db = Mock_Database_Schema_Skeleton::init(DB_DRIVER); + + Mock_Database_Schema_Skeleton::create_tables(); + Mock_Database_Schema_Skeleton::create_data(); + } + + // ------------------------------------------------------------------------ + + /** + * @see ./mocks/schema/skeleton.php + */ + public function test_where_simple_key_value() + { + $job1 = $this->db->where('id', 1) + ->get('job') + ->row(); + + // Check the result + $this->assertEquals('1', $job1->id); + $this->assertEquals('Developer', $job1->name); + } + + // ------------------------------------------------------------------------ + + /** + * @see ./mocks/schema/skeleton.php + */ + public function test_where_custom_key_value() + { + $jobs = $this->db->where('id !=', 1) + ->get('job') + ->result_array(); + + // Check the result + $this->assertEquals(3, count($jobs)); + } + + // ------------------------------------------------------------------------ + + /** + * @see ./mocks/schema/skeleton.php + */ + public function test_where_associative_array() + { + $where = array('id >' => 2, 'name !=' => 'Accountant'); + $jobs = $this->db->where($where) + ->get('job') + ->result_array(); + + // Check the result + $this->assertEquals(1, count($jobs)); + + // Should be Musician + $job = current($jobs); + + $this->assertEquals('Musician', $job['name']); + } + + // ------------------------------------------------------------------------ + + /** + * @see ./mocks/schema/skeleton.php + */ + public function test_where_custom_string() + { + $where = "id > 2 AND name != 'Accountant'"; + $jobs = $this->db->where($where) + ->get('job') + ->result_array(); + + // Check the result + $this->assertEquals(1, count($jobs)); + + // Should be Musician + $job = current($jobs); + + $this->assertEquals('Musician', $job['name']); + } + + // ------------------------------------------------------------------------ + + /** + * @see ./mocks/schema/skeleton.php + */ + public function test_where_or() + { + $jobs = $this->db->where('name !=', 'Accountant') + ->or_where('id >', 3) + ->get('job') + ->result_array(); + + // Check the result + $this->assertEquals(3, count($jobs)); + $this->assertEquals('Developer', $jobs[0]['name']); + $this->assertEquals('Politician', $jobs[1]['name']); + $this->assertEquals('Musician', $jobs[2]['name']); + } + + // ------------------------------------------------------------------------ + + /** + * @see ./mocks/schema/skeleton.php + */ + public function test_where_in() + { + $jobs = $this->db->where_in('name', array('Politician', 'Accountant')) + ->get('job') + ->result_array(); + + // Check the result + $this->assertEquals(2, count($jobs)); + $this->assertEquals('Politician', $jobs[0]['name']); + $this->assertEquals('Accountant', $jobs[1]['name']); + } + + // ------------------------------------------------------------------------ + + /** + * @see ./mocks/schema/skeleton.php + */ + public function test_where_not_in() + { + $jobs = $this->db->where_not_in('name', array('Politician', 'Accountant')) + ->get('job') + ->result_array(); + + // Check the result + $this->assertEquals(2, count($jobs)); + $this->assertEquals('Developer', $jobs[0]['name']); + $this->assertEquals('Musician', $jobs[1]['name']); + } + +} \ No newline at end of file -- cgit v1.2.3-24-g4f1b From c186288755aba46a2b6f0c3f104d9a6ce6b11a7f Mon Sep 17 00:00:00 2001 From: Andrey Andreev Date: Sat, 9 Jun 2012 23:16:58 +0300 Subject: Cleanup/optimize tests/codeigniter/ --- .../database/query_builder/where_test.php | 28 ++++------------------ 1 file changed, 5 insertions(+), 23 deletions(-) (limited to 'tests/codeigniter/database/query_builder/where_test.php') diff --git a/tests/codeigniter/database/query_builder/where_test.php b/tests/codeigniter/database/query_builder/where_test.php index 607eaa076..20b7a567c 100644 --- a/tests/codeigniter/database/query_builder/where_test.php +++ b/tests/codeigniter/database/query_builder/where_test.php @@ -22,11 +22,8 @@ class Where_test extends CI_TestCase { */ public function test_where_simple_key_value() { - $job1 = $this->db->where('id', 1) - ->get('job') - ->row(); + $job1 = $this->db->where('id', 1)->get('job')->row(); - // Check the result $this->assertEquals('1', $job1->id); $this->assertEquals('Developer', $job1->name); } @@ -38,11 +35,7 @@ class Where_test extends CI_TestCase { */ public function test_where_custom_key_value() { - $jobs = $this->db->where('id !=', 1) - ->get('job') - ->result_array(); - - // Check the result + $jobs = $this->db->where('id !=', 1)->get('job')->result_array(); $this->assertEquals(3, count($jobs)); } @@ -54,16 +47,12 @@ class Where_test extends CI_TestCase { public function test_where_associative_array() { $where = array('id >' => 2, 'name !=' => 'Accountant'); - $jobs = $this->db->where($where) - ->get('job') - ->result_array(); + $jobs = $this->db->where($where)->get('job')->result_array(); - // Check the result $this->assertEquals(1, count($jobs)); // Should be Musician $job = current($jobs); - $this->assertEquals('Musician', $job['name']); } @@ -75,16 +64,12 @@ class Where_test extends CI_TestCase { public function test_where_custom_string() { $where = "id > 2 AND name != 'Accountant'"; - $jobs = $this->db->where($where) - ->get('job') - ->result_array(); + $jobs = $this->db->where($where)->get('job')->result_array(); - // Check the result $this->assertEquals(1, count($jobs)); // Should be Musician $job = current($jobs); - $this->assertEquals('Musician', $job['name']); } @@ -100,7 +85,6 @@ class Where_test extends CI_TestCase { ->get('job') ->result_array(); - // Check the result $this->assertEquals(3, count($jobs)); $this->assertEquals('Developer', $jobs[0]['name']); $this->assertEquals('Politician', $jobs[1]['name']); @@ -118,7 +102,6 @@ class Where_test extends CI_TestCase { ->get('job') ->result_array(); - // Check the result $this->assertEquals(2, count($jobs)); $this->assertEquals('Politician', $jobs[0]['name']); $this->assertEquals('Accountant', $jobs[1]['name']); @@ -135,10 +118,9 @@ class Where_test extends CI_TestCase { ->get('job') ->result_array(); - // Check the result $this->assertEquals(2, count($jobs)); $this->assertEquals('Developer', $jobs[0]['name']); $this->assertEquals('Musician', $jobs[1]['name']); } - + } \ No newline at end of file -- cgit v1.2.3-24-g4f1b