function OEmbedResourceConstraintValidatorTest::testValidateUrlResolverInvoked

Same name and namespace in other branches
  1. 9 core/modules/media/tests/src/Kernel/OEmbedResourceConstraintValidatorTest.php \Drupal\Tests\media\Kernel\OEmbedResourceConstraintValidatorTest::testValidateUrlResolverInvoked()
  2. 8.9.x core/modules/media/tests/src/Kernel/OEmbedResourceConstraintValidatorTest.php \Drupal\Tests\media\Kernel\OEmbedResourceConstraintValidatorTest::testValidateUrlResolverInvoked()
  3. 11.x core/modules/media/tests/src/Kernel/OEmbedResourceConstraintValidatorTest.php \Drupal\Tests\media\Kernel\OEmbedResourceConstraintValidatorTest::testValidateUrlResolverInvoked()

@covers ::validate

File

core/modules/media/tests/src/Kernel/OEmbedResourceConstraintValidatorTest.php, line 71

Class

OEmbedResourceConstraintValidatorTest
@coversDefaultClass \Drupal\media\Plugin\Validation\Constraint\OEmbedResourceConstraintValidator[[api-linebreak]]

Namespace

Drupal\Tests\media\Kernel

Code

public function testValidateUrlResolverInvoked() : void {
  $media = Media::create([
    'bundle' => $this->createMediaType('oembed:video')
      ->id(),
    'field_media_oembed_video' => 'source value',
  ]);
  $constraint = new OEmbedResourceConstraint();
  $context = $this->prophesize(ExecutionContextInterface::class);
  $provider = $this->prophesize(Provider::class);
  $provider->getName()
    ->willReturn('YouTube');
  $url_resolver = $this->prophesize(UrlResolverInterface::class);
  $url_resolver->getProviderByUrl(Argument::any())
    ->willReturn($provider->reveal());
  $url_resolver->getResourceUrl(Argument::any())
    ->shouldBeCalledOnce();
  $validator = new OEmbedResourceConstraintValidator($url_resolver->reveal(), $this->prophesize(ResourceFetcher::class)
    ->reveal(), $this->container
    ->get('logger.factory'));
  $validator->initialize($context->reveal());
  $validator->validate($this->getValue($media), $constraint);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.