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());
 }
Esempio n. 2
0
 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');
 }