You are here

class ConstraintsTest in Media entity Pinterest 8.2

Same name and namespace in other branches
  1. 8 tests/src/Unit/ConstraintsTest.php \Drupal\Tests\media_entity_pinterest\Unit\ConstraintsTest

Tests media_entity_pinterest constrains.

@group media @group media_entity_pinterest

Hierarchy

Expanded class hierarchy of ConstraintsTest

File

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

Namespace

Drupal\Tests\media_entity_pinterest\Unit
View source
class ConstraintsTest extends UnitTestCase {

  /**
   * Tests PinEmbedCode constraints.
   *
   * @covers \Drupal\media_entity_pinterest\Plugin\Validation\Constraint\PinEmbedCodeConstraint
   * @covers \Drupal\media_entity_pinterest\Plugin\Validation\Constraint\PinEmbedCodeConstraintValidator
   *
   * @dataProvider embedCodeProvider
   */
  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
      ->createMock(ComplexDataDefinitionInterface::class);
    $definition
      ->method('getPropertyDefinitions')
      ->willReturn([]);
    $data = new StringLongItem($definition);
    $data
      ->set('value', $embed_code);
    $validator
      ->validate($data, $constraint);
  }

  /**
   * Provides test data for testPinEmbedCodeConstraint().
   */
  public function embedCodeProvider() {
    return [
      'valid Pin URL' => [
        'https://www.pinterest.com/pin/15199717473573848/',
        0,
      ],
      'valid Board URL' => [
        'https://www.pinterest.com/heathceramics/behind-the-scenes/',
        0,
      ],
      'valid Board Section URL' => [
        'https://www.pinterest.com/heathceramics/favorite-places-and-spaces/a-cabin-by-heath/',
        0,
      ],
      'valid user URL' => [
        'https://www.pinterest.com/heathceramics/',
        0,
      ],
    ];
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConstraintsTest::embedCodeProvider public function Provides test data for testPinEmbedCodeConstraint().
ConstraintsTest::testPinEmbedCodeConstraint public function Tests PinEmbedCode constraints.
PhpunitCompatibilityTrait::getMock Deprecated public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::setExpectedException Deprecated public function Compatibility layer for PHPUnit 6 to support PHPUnit 4 code.
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root. 1
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName Deprecated protected function Mocks a block with a block plugin. 1
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.
UnitTestCase::setUp protected function 340