feat: additional role 'customer expert'

This commit is contained in:
fromme committed 2026-09-15 15:00:59 +02:00
1 parent 042037867b
commit 1d14f00bb7
5 files changed
+58 -19

No files matched your search

+19
View File
@@ -24,6 +24,25 @@ class RoleTest extends TestCase
self::assertSame([Role::TEAMER], Role::effectiveOnly($roles));
}
public function testCustomerExpertClaimOnlyProducesANomination(): void
{
$roles = Role::sync([], [Role::CUSTOMER_EXPERT]);
self::assertSame([Role::pending(Role::CUSTOMER_EXPERT), Role::CUSTOMER], $roles);
self::assertSame([Role::CUSTOMER], Role::effectiveOnly($roles));
self::assertSame(
[Role::CUSTOMER_EXPERT => 'KO-Experte'],
Role::nominatedFrom($roles),
);
}
public function testApprovedCustomerExpertDisplacesTheCustomerFallback(): void
{
$roles = Role::approve([Role::pending(Role::CUSTOMER_EXPERT), Role::CUSTOMER], Role::CUSTOMER_EXPERT);
self::assertSame([Role::CUSTOMER_EXPERT], $roles);
}
public function testApprovedRoleSurvivesTheNextSyncAndIsNotMarkedAgain(): void
{
$roles = Role::sync([Role::TEAMER, Role::GROUPS_ADMIN], [Role::GROUPS_ADMIN, Role::TEAMER]);