getId()); self::assertSame('core.users.view', $permission->getCode()); self::assertSame('Voir les utilisateurs', $permission->getLabel()); self::assertSame('core', $permission->getModule()); self::assertFalse($permission->isOrphan()); } public function testMarkOrphanSetsFlag(): void { $permission = new Permission('core.users.view', 'Voir les utilisateurs', 'core'); $permission->markOrphan(); self::assertTrue($permission->isOrphan()); } public function testReviveResetsOrphanAndUpdatesMetadata(): void { $permission = new Permission('core.users.view', 'Old label', 'core'); $permission->markOrphan(); $permission->revive('New label', 'commercial'); self::assertFalse($permission->isOrphan()); self::assertSame('New label', $permission->getLabel()); self::assertSame('commercial', $permission->getModule()); } public function testUpdateMetadataDoesNotTouchOrphan(): void { $permission = new Permission('core.users.view', 'Old', 'core'); $permission->markOrphan(); $permission->updateMetadata('Lbl', 'core'); self::assertTrue($permission->isOrphan()); self::assertSame('Lbl', $permission->getLabel()); } }