X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fpq-gateway;a=blobdiff_plain;f=tests%2Flib%2Fpq%2FGateway%2FTableTest.php;h=3f7b35c500ff8d004d726f735bf90026461ae999;hp=a5fb56f6acb39cb3485b1d03b1ac14c53d4e284b;hb=409fca54acfee2db6c62540a8f67b1adfa695a38;hpb=0e2eb1f13ef60ce9a8709354136c42f7d87b2345 diff --git a/tests/lib/pq/Gateway/TableTest.php b/tests/lib/pq/Gateway/TableTest.php index a5fb56f..3f7b35c 100644 --- a/tests/lib/pq/Gateway/TableTest.php +++ b/tests/lib/pq/Gateway/TableTest.php @@ -18,16 +18,14 @@ class TableTest extends \PHPUnit_Framework_TestCase { protected function setUp() { $this->conn = new \pq\Connection(PQ_TEST_DSN); - $this->conn->exec(PQ_TEST_TABLE_CREATE); - $this->conn->exec(PQ_TEST_REFTABLE_CREATE); - $this->conn->exec(PQ_TEST_DATA); + $this->conn->exec(PQ_TEST_SETUP_SQL); Table::$defaultConnection = $this->conn; $this->table = new Table("test"); + $this->table->getQueryExecutor()->attach(new \QueryLogger()); } protected function tearDown() { - $this->conn->exec(PQ_TEST_REFTABLE_DROP); - $this->conn->exec(PQ_TEST_TABLE_DROP); + $this->conn->exec(PQ_TEST_TEARDOWN_SQL); } public function testSetRowsetPrototype() { @@ -69,18 +67,35 @@ class TableTest extends \PHPUnit_Framework_TestCase { public function testUpdate() { $row = $this->table->create(array())->current(); $data = array( - "created" => "2013-03-03 03:03:03", + "created" => new \pq\DateTime("2013-03-03 03:03:03"), "counter" => 2, "number" => 2.2, "data" => "this is a test", + "list" => array(3,2,1), + "prop" => null ); $row = $this->table->update(array("id = " => $row->id), $data)->current(); $data = array("id" => $row->id->get()) + $data; - $this->assertSame(array_map(function($v){return strval($v);}, $data), $row->getData()); + $this->assertEquals($data, $row->getData()); } public function testDelete() { $this->table->delete(array("id!=" => 0)); $this->assertCount(0, $this->table->find()); } + + public function testWith() { + $relation = $this->table->getRelations("test")->reftest; + $rowset = $this->table->with([$relation], array("another_test_id=" => 2)); + $this->assertCount(1, $rowset); + $this->assertEquals(array( + "id" => 2, + "created" => new \pq\DateTime("today"), + "counter" => 0, + "number" => 0, + "data" => "today", + "list" => array(0,1,2), + "prop" => null + ), $rowset->current()->getData()); + } }