ApiPlatform\Core\Tests\Metadata\Resource\Factory\CachedResourceMetadataFactoryTest::testCreateWithItemNotHit PHP Méthode

testCreateWithItemNotHit() public méthode

    public function testCreateWithItemNotHit()
    {
        $propertyMetadata = new ResourceMetadata(null, 'Dummy.');
        $decoratedResourceMetadataFactory = $this->prophesize(ResourceMetadataFactoryInterface::class);
        $decoratedResourceMetadataFactory->create(Dummy::class)->willReturn($propertyMetadata)->shouldBeCalled();
        $cacheItem = $this->prophesize(CacheItemInterface::class);
        $cacheItem->isHit()->willReturn(false)->shouldBeCalled();
        $cacheItem->set($propertyMetadata)->willReturn($cacheItem->reveal())->shouldBeCalled();
        $cacheItemPool = $this->prophesize(CacheItemPoolInterface::class);
        $cacheItemPool->getItem($this->generateCacheKey())->willReturn($cacheItem->reveal())->shouldBeCalled();
        $cacheItemPool->save($cacheItem->reveal())->willReturn(true)->shouldBeCalled();
        $cachedResourceMetadataFactory = new CachedResourceMetadataFactory($cacheItemPool->reveal(), $decoratedResourceMetadataFactory->reveal());
        $resultedResourceMetadata = $cachedResourceMetadataFactory->create(Dummy::class);
        $this->assertInstanceOf(ResourceMetadata::class, $resultedResourceMetadata);
        $this->assertEquals(new ResourceMetadata(null, 'Dummy.'), $resultedResourceMetadata);
    }