/**
  * @dataProvider validEntityProvider
  */
 public function testValidateEntity($validators, $expected)
 {
     $entity = new Item();
     $validator = new CompositeEntityValidator($validators);
     $result = $validator->validateEntity($entity);
     $this->assertEquals($expected, $result->isValid(), 'isValid');
 }
Ejemplo n.º 2
0
 /**
  * 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);
     }
 }