38 lines
1.2 KiB
PHP
38 lines
1.2 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Tests\Enum;
|
||
|
|
|
||
|
|
use App\Enum\CacheKey;
|
||
|
|
use PHPUnit\Framework\TestCase;
|
||
|
|
|
||
|
|
class CacheKeyTest extends TestCase
|
||
|
|
{
|
||
|
|
public function testResolveWithParameters(): void
|
||
|
|
{
|
||
|
|
self::assertSame('user_profile_42', CacheKey::USER_PROFILE->resolve(42));
|
||
|
|
self::assertSame('event_detail_10', CacheKey::EVENT_DETAIL->resolve(10));
|
||
|
|
self::assertSame('search_symfony', CacheKey::SEARCH_RESULTS->resolve('symfony'));
|
||
|
|
}
|
||
|
|
|
||
|
|
public function testResolveWithoutParameters(): void
|
||
|
|
{
|
||
|
|
self::assertSame('event_list', CacheKey::EVENT_LIST->resolve());
|
||
|
|
self::assertSame('home_page', CacheKey::HOME_PAGE->resolve());
|
||
|
|
}
|
||
|
|
|
||
|
|
public function testTtlReturnsPositiveIntegers(): void
|
||
|
|
{
|
||
|
|
foreach (CacheKey::cases() as $case) {
|
||
|
|
self::assertGreaterThan(0, $case->ttl(), "TTL for {$case->name} should be positive");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public function testSpecificTtlValues(): void
|
||
|
|
{
|
||
|
|
self::assertSame(1800, CacheKey::USER_PROFILE->ttl());
|
||
|
|
self::assertSame(300, CacheKey::EVENT_LIST->ttl());
|
||
|
|
self::assertSame(60, CacheKey::EVENT_TICKETS->ttl());
|
||
|
|
self::assertSame(3600, CacheKey::SITEMAP_MAIN->ttl());
|
||
|
|
}
|
||
|
|
}
|