feat: Attribution de rôles multiples par utilisateur
Les utilisateurs Classeo étaient limités à un seul rôle, alors que dans la réalité scolaire un directeur peut aussi être enseignant, ou un parent peut avoir un rôle vie scolaire. Cette limitation obligeait à créer des comptes distincts par fonction. Le modèle User supporte désormais plusieurs rôles simultanés avec basculement via le header. L'admin peut attribuer/retirer des rôles depuis l'interface de gestion, avec des garde-fous : pas d'auto- destitution, pas d'escalade de privilèges (seul SUPER_ADMIN peut attribuer SUPER_ADMIN), vérification du statut actif pour le switch de rôle, et TTL explicite sur le cache de rôle actif.
This commit is contained in:
@@ -69,16 +69,11 @@ test.describe('Pedagogy - Grading Mode Configuration (Story 2.4)', () => {
|
||||
await expect(page).toHaveURL(/\/admin\/pedagogy/, { timeout: 10000 });
|
||||
});
|
||||
|
||||
test('pedagogy card is visible on admin dashboard', async ({ page, browserName }) => {
|
||||
// Svelte 5 delegated onclick is not triggered by Playwright click on webkit
|
||||
test.skip(browserName === 'webkit', 'Demo role switcher click not supported on webkit');
|
||||
|
||||
test('pedagogy card is visible on admin dashboard', async ({ page }) => {
|
||||
await loginAsAdmin(page);
|
||||
|
||||
// Switch to admin view in demo dashboard
|
||||
// Authenticated admin sees admin dashboard directly via role context
|
||||
await page.goto(`${ALPHA_URL}/dashboard`);
|
||||
const adminButton = page.getByRole('button', { name: /admin/i });
|
||||
await adminButton.click();
|
||||
|
||||
await expect(page.getByRole('heading', { name: /administration/i })).toBeVisible({
|
||||
timeout: 10000
|
||||
|
||||
Reference in New Issue
Block a user