use Symfony\Component\RateLimiter\Policy\Window;
use Symfony\Component\RateLimiter\Storage\CacheStorage;
class CacheStorageTest extends TestCase
{ private MockObject&CacheItemPoolInterface
$pool;
private CacheStorage
$storage;
protected function setUp(): void
{ $this->pool =
$this->
createMock(CacheItemPoolInterface::
class);
$this->storage =
new CacheStorage($this->pool
);
} public function testSave() { $cacheItem =
$this->
createMock(CacheItemInterface::
class);
$cacheItem->
expects($this->
exactly(2
))->
method('expiresAfter'
)->
with(10
);
$this->pool->
expects($this->
any())->
method('getItem'
)->
with(sha1('test'
))->
willReturn($cacheItem);
$this->pool->
expects($this->
exactly(2
))->
method('save'
)->
with($cacheItem);
$window =
new Window('test', 10, 20
);