public function testCreateWithGetCacheItemThrowsCacheException() { $decoratedResourceNameCollectionFactory = $this->prophesize(ResourceNameCollectionFactoryInterface::class); $decoratedResourceNameCollectionFactory->create()->willReturn(new ResourceNameCollection([Dummy::class]))->shouldBeCalled(); $cacheException = $this->prophesize(CacheException::class); $cacheException->willExtend(\Exception::class); $cacheItemPool = $this->prophesize(CacheItemPoolInterface::class); $cacheItemPool->getItem(CachedResourceNameCollectionFactory::CACHE_KEY)->willThrow($cacheException->reveal())->shouldBeCalled(); $cachedResourceNameCollectionFactory = new CachedResourceNameCollectionFactory($cacheItemPool->reveal(), $decoratedResourceNameCollectionFactory->reveal()); $resultedResourceNameCollection = $cachedResourceNameCollectionFactory->create(); $this->assertInstanceOf(ResourceNameCollection::class, $resultedResourceNameCollection); $this->assertEquals(new ResourceNameCollection([Dummy::class]), $resultedResourceNameCollection); }