public function testWithProxy() { $fnf = new Kwf_Model_FnF(array('columns' => array('id', 'foo1', 'data'))); $model = new Kwf_Model_Proxy(array('proxyModel' => $fnf, 'siblingModels' => array(new Kwf_Model_Field(array('fieldName' => 'data'))))); $row = $model->createRow(); $row->foo1 = 'bar'; $row->blub = 'bum'; $row->save(); $this->assertEquals($fnf->getData(), array(array('id' => 1, 'foo1' => 'bar', 'data' => json_encode(array('blub' => 'bum'))))); }
public function testCreateChildRowWithSavingIt() { // Einziger Unterschied zu vorher: ChildRow wird extra gespeichert, eigentlich unnötig, aber testen sollen wir das, damit die Row nicht 2x drinnen steht $model = new Kwf_Model_FnF(array('columns' => array('id', 'foo', 'data'), 'data' => array(array('id' => 1, 'foo' => 'bar', 'data' => serialize(array('autoId' => 1, 'data' => array(array('id' => 1, 'blub' => 'blub')))))), 'dependentModels' => array('Child' => new Kwf_Model_FieldRows(array('fieldName' => 'data'))))); $row = $model->getRow(1); $rows = $row->getChildRows('Child'); $this->assertEquals(count($rows), 1); $cRow = $row->createChildRow('Child'); $cRow->blub = 'blub2'; $cRow->save(); $row->save(); $this->assertEquals($model->getData(), array(array('id' => 1, 'foo' => 'bar', 'data' => serialize(array('data' => array(array('id' => 1, 'blub' => 'blub'), array('id' => 2, 'blub' => 'blub2')), 'autoId' => 2))))); }
public function testIt() { $model = new Kwf_Model_FnF(array('columns' => array(), 'data' => array(array('id' => 1, 'foo' => 'bar', 'data' => serialize(array('autoId' => 2, 'data' => array(array('id' => 1, 'blub' => 'blub1', 'foo' => 'foo'), array('id' => 2, 'blub' => 'blub2')))))), 'dependentModels' => array('Child' => new Kwf_Model_RowsSubModel_Proxy(array('proxyModel' => new Kwf_Model_FieldRows(array('fieldName' => 'data'))))))); $row = $model->getRow(1); $this->assertEquals($row->foo, 'bar'); $rows = $row->getChildRows('Child'); $this->assertEquals(count($rows), 2); $this->assertEquals($rows->current()->blub, 'blub1'); $this->assertEquals($rows->current()->id, 1); $rows->current()->foo = 'foo'; $rows->current()->save(); $row->blub1 = 'blub1'; $row->save(); $this->assertEquals($model->getData(), array(array('id' => 1, 'foo' => 'bar', 'data' => serialize(array('autoId' => 2, 'data' => array(array('id' => 1, 'blub' => 'blub1', 'foo' => 'foo'), array('id' => 2, 'blub' => 'blub2')))), 'blub1' => 'blub1'))); }
public function testInsertManualId() { $model = new Kwf_Model_FnF(array('data' => array(array('id' => 1, 'foo' => '')))); $row = $model->createRow(); $row->id = 10; $row->foo = 'bar2'; $row->save(); $this->assertEquals($model->getData(), array(array('id' => 1, 'foo' => ''), array('id' => 10, 'foo' => 'bar2'))); }