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() {
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());
+ }
}