Files
e-ticket/tests/Enum/CacheKeyTest.php

38 lines
1.2 KiB
PHP
Raw Permalink Normal View History

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