ensure accessing a cell on ref update
[m6w6/pq-gateway] / tests / lib / pq / Gateway / CellTest.php
index 0afd0e3f4f2207bf91690341d780e796094c55b6..9235a39ec81487278d4ecb79494384505f33088f 100644 (file)
@@ -17,19 +17,19 @@ class CellTest extends \PHPUnit_Framework_TestCase {
        protected $table;
 
        protected function setUp() {
-               $this->conn = new \pq\Connection(PQ_DSN);
-               $this->conn->exec(PQ_TEST_DROP_TABLE);
-               $this->conn->exec(PQ_TEST_CREATE_TABLE);
-               $this->conn->exec(PQ_TEST_CREATE_DATA);
-               $this->table = new Table(PQ_TEST_TABLE_NAME, $this->conn);
+               $this->conn = new \pq\Connection(PQ_TEST_DSN);
+               $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_DROP_TABLE);
+               $this->conn->exec(PQ_TEST_TEARDOWN_SQL);
        }
 
        /**
-        * This is very bad test…
+        * This is very bad test…
         */
        public function testBasic() {
                $row = $this->table->find(null, "id desc", 1)->current();
@@ -50,4 +50,15 @@ class CellTest extends \PHPUnit_Framework_TestCase {
                        $this->assertEquals("$key + 123 || 'foobar' - now()", (string) $row->$key);
                }
        }
+       
+       public function testRef() {
+               $rows = $this->table->find(null, "id desc", 2);
+               $reft = new Table("reftest");
+               $refs = new Rowset($reft);
+               $refs->append($rows->seek(0)->current()->reftest()->current());
+               $refs->append($rows->seek(1)->current()->reftest()->current());
+               $refs->seek(0)->current()->test = $rows->seek(1)->current();
+               $refs->seek(1)->current()->test = $rows->seek(0)->current();
+               $refs->update();
+       }
 }