You are here

public function CdnDomainConstraintValidatorTest::testValidate in CDN 8.3

@covers ::validate

@dataProvider provideTestValidate

File

tests/src/Unit/Plugin/Validation/Constraint/CdnDomainConstraintValidatorTest.php, line 23

Class

CdnDomainConstraintValidatorTest
@coversDefaultClass \Drupal\cdn\Plugin\Validation\Constraint\CdnDomainConstraintValidator @group cdn

Namespace

Drupal\Tests\cdn\Unit\Plugin\Validation\Constraint

Code

public function testValidate($value, $valid) {
  $constraint_violation_builder = $this
    ->prophesize(ConstraintViolationBuilderInterface::class);
  $constraint_violation_builder
    ->setParameter('%domain', $value)
    ->willReturn($constraint_violation_builder
    ->reveal());
  $constraint_violation_builder
    ->setInvalidValue($value)
    ->willReturn($constraint_violation_builder
    ->reveal());
  $constraint_violation_builder
    ->addViolation()
    ->willReturn($constraint_violation_builder
    ->reveal());
  if ($valid) {
    $constraint_violation_builder
      ->addViolation()
      ->shouldNotBeCalled();
  }
  else {
    $constraint_violation_builder
      ->addViolation()
      ->shouldBeCalled();
  }
  $context = $this
    ->prophesize(ExecutionContextInterface::class);
  $context
    ->buildViolation(Argument::type('string'))
    ->willReturn($constraint_violation_builder
    ->reveal());
  $constraint = new CdnDomainConstraint();
  $validate = new CdnDomainConstraintValidator();
  $validate
    ->initialize($context
    ->reveal());
  $validate
    ->validate($value, $constraint);
}