/** * @dataProvider validEntityProvider */ public function testValidateEntity($validators, $expected) { $entity = new Item(); $validator = new CompositeEntityValidator($validators); $result = $validator->validateEntity($entity); $this->assertEquals($expected, $result->isValid(), 'isValid'); }
/** * Throws an exception if it would not be possible to save the updated items * @throws ChangeOpException */ private function applyConstraintChecks(Item $item, ItemId $fromId) { $constraintValidator = new CompositeEntityValidator($this->constraintProvider->getUpdateValidators($item->getType())); $result = $constraintValidator->validateEntity($item); $errors = $result->getErrors(); $errors = $this->removeConflictsWithEntity($errors, $fromId); if (!empty($errors)) { $result = Result::newError($errors); throw new ChangeOpValidationException($result); } }