function testRowMethods() { $id = $this->addRow(); $tr = new Test(); $loaded = $tr->load($id); $this->assert($updatedRow = $loaded, "Test->load() failed: " . var_export($loaded, 1)); $exp = $tr->export(); $this->assert($updatedRow = $exp, "Test->export() failed: " . var_export($exp, 1)); $newname = 'test updated again'; $tr->name = $newname; $save = $tr->save(); $this->assert($save, "Test->save() failed: " . var_export($tr->getErrorList(), 1)); $this->assert(Test::count() == 1, "Test::count() failed"); $tr->name = null; $this->assert(!$tr->save(), "Test->save() should have failed (required name rule should fail)!"); $tr->name = array('123'); $this->assert(!$tr->save(), "Test->save() should have failed (string name rule should fail)!"); $tr2 = new Test(); $tr2->name = '000 second row'; // three zeroes - to ensure it sorts above the first one $this->assert($tr2->save(), 'Test->save() failed: ' . var_export($tr->getErrorList(), 1)); $s = Test::findAll(); $s->setOrder('name'); $s->paginate(1, 1); $all = $s->export()->fetchAll(); $this->assert(1 == count($all), 'Select->count() failed after pagination'); $this->assert($tr2->name == $all[0]->name, 'Select->export() failed ordering'); }
function actionIndex() { $objects = Test::findAll(); $this->render('index', array('data' => $objects)); }