public function testWorkingWithCache()
 {
     foreach (DBTestPool::me()->getPool() as $db) {
         DBPool::me()->setDefault($db);
         $item = TestItem::create()->setName('testItem1');
         TestItem::dao()->add($item);
         $encapsulant = TestEncapsulant::create()->setName('testEncapsulant1');
         TestEncapsulant::dao()->add($encapsulant);
         $subItem1 = TestSubItem::create()->setName('testSubItem1')->setEncapsulant($encapsulant)->setItem($item);
         $subItem2 = TestSubItem::create()->setName('testSubItem2')->setEncapsulant($encapsulant)->setItem($item);
         TestSubItem::dao()->add($subItem1);
         TestSubItem::dao()->add($subItem2);
         $items = Criteria::create(TestItem::dao())->getList();
         foreach ($items as $item) {
             foreach ($item->getSubItems()->getList() as $subItem) {
                 $this->assertEquals($subItem->getEncapsulant()->getName(), 'testEncapsulant1');
             }
         }
         $encapsulant = TestEncapsulant::dao()->getById(1);
         $encapsulant->setName('testEncapsulant1_changed');
         TestEncapsulant::dao()->save($encapsulant);
         // drop identityMap
         TestEncapsulant::dao()->dropIdentityMap();
         TestSubItem::dao()->dropIdentityMap();
         TestItem::dao()->dropIdentityMap();
         $items = Criteria::create(TestItem::dao())->getList();
         foreach ($items as $item) {
             foreach ($item->getSubItems()->getList() as $subItem) {
                 $this->assertEquals($subItem->getEncapsulant()->getName(), 'testEncapsulant1_changed');
             }
         }
         // drop identityMap
         TestEncapsulant::dao()->dropIdentityMap();
         TestSubItem::dao()->dropIdentityMap();
         TestItem::dao()->dropIdentityMap();
         $subItem = TestSubItem::dao()->getById(1);
         $this->assertEquals($subItem->getEncapsulant()->getName(), 'testEncapsulant1_changed');
         // drop identityMap
         TestEncapsulant::dao()->dropIdentityMap();
         TestSubItem::dao()->dropIdentityMap();
         TestItem::dao()->dropIdentityMap();
         $subItems = Criteria::create(TestSubItem::dao())->getList();
         foreach ($subItems as $subItem) {
             $this->assertEquals($subItem->getEncapsulant()->getName(), 'testEncapsulant1_changed');
         }
     }
 }
Пример #2
0
 function testNoTriggers()
 {
     $i = new TestItem($this->getManager(), 'pages');
     $i->setPrimaryKey('id');
     $i->set('name', 1);
     $i->save(false, true);
     $this->assertEquals(1, $i->get('id'), 'Триггер beforeSave не сработал');
     $this->assertEmpty($i->get('after_save'), 'Триггер afterSave не сработал');
     $i->delete(true);
     $this->assertEmpty($i->get('before_delete'), 'Триггер beforeDelete не сработал');
     $this->assertEmpty($i->get('after_delete'), 'Триггер afterDelete не сработал');
 }