public function testTransactionCommitWithCustomMethodsAcrossMultipleTables() { $c = DB_DataObject::factory('vanillainnodb'); // innoDB $c->find(); $cl = DB_DataObject::factory('vanillainnodb2'); // innoDB $cl->name = 'Michael Jackson'; $cl->insert(); $u = DB_DataObject::factory('testuser'); // Non innoDB $u->login = '******'; $u->password = '******'; $this->assertTrue($u->insert()); // Just to verify inserting was ok $c->begin(); while ($c->fetch()) { $c->delete(); } $u->delete(); $cl->delete(); $c->commit(); DB_DataObject::DebugLevel(0); $c2 = DB_DataObject::factory('vanillainnodb'); $this->assertFalse($c2->find()); $u2 = DB_DataObject::factory('testuser'); $u2->login = '******'; $u2->password = '******'; $this->assertFalse($u2->find()); // Non innoDB $cl = DB_DataObject::factory('vanillainnodb2'); $cl->name = 'Michael Jackson'; $this->assertFalse($cl->find()); }
public function testProcessFormUpdateNoni18nFields() { $t = DB_DataObject::factory('formtest'); $t->get(2); $fb = MyFB::create($t); $form = $fb->getForm(); $post = array_merge($form->exportValues(), array('pays' => 'es', 'testuser_id' => '5', '_qf__' . $form->getAttribute('name') => 1)); $get = $_GET; $request = array_merge($get, $post); $form->initRequest($get, $post, $request); $this->assertTrue($form->isSubmitted()); // DB_DataObject::DebugLevel(1); $form->process(array($fb, 'processForm'), false); DB_DataObject::DebugLevel(0); T::setLang('fr'); $t = DB_DataObject::factory('formtest'); $t->get(2); $this->assertEqual($t->pays, 'es'); $this->assertEqual($t->testuser_id, '5'); }