You are here

public function ConstraintsTest::testPinEmbedCodeConstraint in Media entity Pinterest 8

Same name and namespace in other branches
  1. 8.2 tests/src/Unit/ConstraintsTest.php \Drupal\Tests\media_entity_pinterest\Unit\ConstraintsTest::testPinEmbedCodeConstraint()

Tests PinEmbedCode constraints.

@covers \Drupal\media_entity_pinterest\Plugin\Validation\Constraint\PinEmbedCodeConstraint @covers \Drupal\media_entity_pinterest\Plugin\Validation\Constraint\PinEmbedCodeConstraintValidator

@dataProvider embedCodeProvider

File

tests/src/Unit/ConstraintsTest.php, line 26

Class

ConstraintsTest
Tests media_entity_pinterest constrains.

Namespace

Drupal\Tests\media_entity_pinterest\Unit

Code

public function testPinEmbedCodeConstraint($embed_code, $expected_violation_count) {

  // Check message in constraint.
  $constraint = new PinEmbedCodeConstraint();
  $this
    ->assertEquals(addslashes('Not valid Pin URL/embed code.'), addslashes($constraint->message), 'Correct constraint message found.');
  $execution_context = $this
    ->getMockBuilder('\\Drupal\\Core\\TypedData\\Validation\\ExecutionContext')
    ->disableOriginalConstructor()
    ->getMock();
  if ($expected_violation_count) {
    $execution_context
      ->expects($this
      ->exactly($expected_violation_count))
      ->method('addViolation')
      ->with($constraint->message);
  }
  else {
    $execution_context
      ->expects($this
      ->exactly($expected_violation_count))
      ->method('addViolation');
  }
  $validator = new PinEmbedCodeConstraintValidator();
  $validator
    ->initialize($execution_context);
  $definition = $this
    ->getMock(ComplexDataDefinitionInterface::class);
  $definition
    ->method('getPropertyDefinitions')
    ->willReturn([]);
  $data = new StringLongItem($definition);
  $data
    ->set('value', $embed_code);
  $validator
    ->validate($data, $constraint);
}