summaryrefslogtreecommitdiff
path: root/tests/unit/Data/TableGateway/TestFindByPk.php
blob: f23fafa76c8a584e810dcc78ba42c21c7576fe7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php

require_once(dirname(__FILE__).'/BaseGatewayTest.php');

/**
 * @package System.Data.TableGateway
 */
class TestFindByPk extends BaseGatewayTest
{
	function test_one_key()
	{
		$this->add_record1();
		$id = $this->getGateway()->getLastInsertId();
		$result = $this->getGateway()->findByPk($id);

		$record1 = $this->get_record1();

		//clean and ignore some fields
		unset($result['id']);
		unset($result['field7_timestamp']);
		unset($record1['field7_timestamp']);
		$result['phone'] = intval($result['phone']);
		$result['field9_numeric'] = floatval($result['field9_numeric']);

		$this->assertEqual($record1, $result);
	}

	function test_composite_key()
	{
		$gateway = $this->getGateway2();

		$result = $gateway->findByPk(1,1);
		$expect = array("department_id" => 1, "section_id" => 1, "order" =>  0);
		$this->assertEqual($expect, $result);
	}

	function test_find_all_keys()
	{
		$gateway = $this->getGateway2();

		$result = $gateway->findAllByPks(array(1,1), array(3,13))->readAll();

		$expect = array(
			array("department_id" => 1, "section_id" => 1, "order" =>  0),
			array("department_id" => 3, "section_id" => 13, "order" =>  0));

		$this->assertEqual($expect, $result);

	}
}