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); }
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()); }