You are here

public function AbstractValidatorTest::testReplaceDefaultGroupByGroupSequenceObject in Plug 7

File

lib/Symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php, line 1087

Class

AbstractValidatorTest
@since 2.5 @author Bernhard Schussek <bschussek@gmail.com>

Namespace

Symfony\Component\Validator\Tests\Validator

Code

public function testReplaceDefaultGroupByGroupSequenceObject() {
  $entity = new Entity();
  $callback1 = function ($value, ExecutionContextInterface $context) {
    $context
      ->addViolation('Violation in Group 2');
  };
  $callback2 = function ($value, ExecutionContextInterface $context) {
    $context
      ->addViolation('Violation in Group 3');
  };
  $this->metadata
    ->addConstraint(new Callback(array(
    'callback' => function () {
    },
    'groups' => 'Group 1',
  )));
  $this->metadata
    ->addConstraint(new Callback(array(
    'callback' => $callback1,
    'groups' => 'Group 2',
  )));
  $this->metadata
    ->addConstraint(new Callback(array(
    'callback' => $callback2,
    'groups' => 'Group 3',
  )));
  $sequence = new GroupSequence(array(
    'Group 1',
    'Group 2',
    'Group 3',
    'Entity',
  ));
  $this->metadata
    ->setGroupSequence($sequence);
  $violations = $this
    ->validate($entity, null, 'Default');

  /** @var ConstraintViolationInterface[] $violations */
  $this
    ->assertCount(1, $violations);
  $this
    ->assertSame('Violation in Group 2', $violations[0]
    ->getMessage());
}