ApiPlatform\Core\Tests\Metadata\Resource\Factory\CachedResourceNameCollectionFactoryTest::testCreateWithItemNotHit PHP Method

testCreateWithItemNotHit() public method

    public function testCreateWithItemNotHit()
    {
        $resourceNameCollection = new ResourceNameCollection([Dummy::class]);
        $decoratedResourceNameCollectionFactory = $this->prophesize(ResourceNameCollectionFactoryInterface::class);
        $decoratedResourceNameCollectionFactory->create()->willReturn($resourceNameCollection)->shouldBeCalled();
        $cacheItem = $this->prophesize(CacheItemInterface::class);
        $cacheItem->isHit()->willReturn(false)->shouldBeCalled();
        $cacheItem->set($resourceNameCollection)->willReturn($cacheItem->reveal())->shouldBeCalled();
        $cacheItemPool = $this->prophesize(CacheItemPoolInterface::class);
        $cacheItemPool->getItem(CachedResourceNameCollectionFactory::CACHE_KEY)->willReturn($cacheItem->reveal())->shouldBeCalled();
        $cacheItemPool->save($cacheItem->reveal())->willReturn(true)->shouldBeCalled();
        $cachedResourceNameCollectionFactory = new CachedResourceNameCollectionFactory($cacheItemPool->reveal(), $decoratedResourceNameCollectionFactory->reveal());
        $resultedResourceNameCollection = $cachedResourceNameCollectionFactory->create();
        $this->assertInstanceOf(ResourceNameCollection::class, $resultedResourceNameCollection);
        $this->assertEquals(new ResourceNameCollection([Dummy::class]), $resultedResourceNameCollection);
    }