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()); } }