示例#1
0
 public function testFactoryDuplicateModel()
 {
     CM_Config::get()->CM_Model_Abstract->types[CM_ModelMock3::getTypeStatic()] = 'CM_ModelMock3';
     $model1 = new CM_ModelMock3();
     $model1->_set('foo', 'bar1');
     $model1->commit();
     $model2 = new CM_ModelMock3();
     $model2->_set('foo', 'bar2');
     $model2->commit();
     /** @var CM_ModelMock[] $models */
     $models = CM_Model_Abstract::factoryGenericMultiple(array(array('type' => $model1->getType(), 'id' => $model1->getId()), array('type' => $model1->getType(), 'id' => $model2->getId()), array('type' => $model1->getType(), 'id' => $model1->getId())));
     $this->assertSame(3, count($models));
     $this->assertEquals(array($model1, $model2, $model1), $models);
 }
示例#2
0
 public function testCommitWithReplace()
 {
     CM_Config::get()->CM_Model_Abstract->types[CM_ModelMock3::getTypeStatic()] = 'CM_ModelMock3';
     $dbModel = new CM_ModelMock3();
     $dbModel->_set('foo', 'bar1');
     $dbModel->commit(true);
     $cacheModel = new CM_ModelMock4();
     $cacheModel->_set('bar', 5);
     $exception = $this->catchException(function () use($cacheModel) {
         $cacheModel->commit(true);
     });
     $this->isInstanceOf('CM_Exception_NotImplemented', $exception);
     $this->assertSame('Param `useReplace` is not allowed with ' . CM_ModelMock4::getPersistenceClass(), $exception->getMessage());
 }