Author: Samuel ROZE (samuel.roze@gmail.com)
Inheritance: implements Symfony\Component\Serializer\Normalizer\NormalizerInterface, implements Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface, use trait ApiPlatform\Core\JsonLd\Serializer\JsonLdContextTrait
 public function testNormalize()
 {
     $dummy = new Dummy();
     $decorated = $this->prophesize(NormalizerInterface::class);
     $decorated->normalize($dummy, null, ['request_uri' => '/foo?bar=baz'])->willReturn(['name' => 'foo'])->shouldBeCalled();
     $resourceMetadataFactory = $this->prophesize(ResourceMetadataFactoryInterface::class);
     $resourceMetadataFactory->create(Dummy::class)->willReturn(new ResourceMetadata('foo', '', null, [], [], ['filters' => ['foo']]));
     $resourceClassResolver = $this->prophesize(ResourceClassResolverInterface::class);
     $resourceClassResolver->getResourceClass($dummy, null, true)->willReturn(Dummy::class)->shouldBeCalled();
     $filter = $this->prophesize(FilterInterface::class);
     $filter->getDescription(Dummy::class)->willReturn(['a' => ['property' => 'name', 'required' => true]])->shouldBeCalled();
     $normalizer = new CollectionFiltersNormalizer($decorated->reveal(), $resourceMetadataFactory->reveal(), $resourceClassResolver->reveal(), new FilterCollection([$filter->reveal()]));
     $this->assertEquals(['name' => 'foo', 'hydra:search' => ['@type' => 'hydra:IriTemplate', 'hydra:template' => '/foo{?a}', 'hydra:variableRepresentation' => 'BasicRepresentation', 'hydra:mapping' => [['@type' => 'IriTemplateMapping', 'variable' => 'a', 'property' => 'name', 'required' => true]]]], $normalizer->normalize($dummy, null, ['request_uri' => '/foo?bar=baz']));
 }