<?php

declare(strict_types=1);

namespace App\Tests\Unit\Shared\Module;

use App\Module\Core\CoreModule;
use App\Shared\Domain\Module\ModuleRegistry;
use PHPUnit\Framework\TestCase;

/**
 * @internal
 */
final class ModuleRegistryPermissionsTest extends TestCase
{
    public function testAggregatesPermissionsWithModuleId(): void
    {
        $perms = ModuleRegistry::permissions([CoreModule::class]);

        self::assertNotEmpty($perms);
        foreach ($perms as $perm) {
            self::assertArrayHasKey('code', $perm);
            self::assertArrayHasKey('label', $perm);
            self::assertArrayHasKey('module', $perm);
            self::assertSame('core', $perm['module']);
            self::assertStringStartsWith('core.', $perm['code']);
        }
    }
}
