Пример #1
0
 public function testCreateRelationHasOne()
 {
     $db = $this->getMock('Pix_Table_Db_Adapter_Abstract', array('insertOne'));
     Pix_Table_TableRelationTest_Table2::setDb($db);
     $db->expects($this->once())->method('insertOne')->with($this->isInstanceOf('Pix_Table_TableRelationTest_Table2'), array('t2_id' => 1002, 'value' => 't2_value'))->will($this->returnValue(null));
     $row = new Pix_Table_Row(array('tableClass' => 'Pix_Table_TableRelationTest_Table', 'data' => array('t1_id' => 1002, 'value' => 'test_create_relation')));
     $row2 = $row->create_table2(array('value' => 't2_value', 'no_this_column' => 'value'));
     $this->assertTrue(Pix_Table::is_a($row2, 'Pix_Table_TableRelationTest_Table2'));
     $this->assertEquals($row2->t2_id, $row->t1_id);
     $this->assertEquals($row2->value, 't2_value');
     // has_many
     $db = $this->getMock('Pix_Table_Db_Adapter_Abstract', array('insertOne'));
     Pix_Table_TableRelationTest_Table3::setDb($db);
     $db->expects($this->once())->method('insertOne')->with($this->isInstanceOf('Pix_Table_TableRelationTest_Table3', array('t3_t1id' => '1002', 'value' => 'on')))->will($this->returnValue(5566));
     $row3 = $row->create_table3s(array('value' => 'on', 'no_this_column' => 'value'));
     $this->assertEquals($row3->t3_id, 5566);
     $this->assertEquals($row3->t3_t1id, 1002);
     $this->assertEquals($row3->value, 'on');
     // has_many empty
     $db = $this->getMock('Pix_Table_Db_Adapter_Abstract', array('insertOne'));
     Pix_Table_TableRelationTest_Table3::setDb($db);
     $db->expects($this->once())->method('insertOne')->with($this->isInstanceOf('Pix_Table_TableRelationTest_Table3'), array('t3_t1id' => '1002'))->will($this->returnValue(5567));
     $row3 = $row->create_table3s();
     $this->assertEquals($row3->t3_id, 5567);
     $this->assertEquals($row3->t3_t1id, 1002);
     $this->assertEquals($row3->value, null);
 }