- playwright.config.ts: configuración con globalSetup/Teardown,
webServer (reuseExistingServer), SSL bypass para cert autofirmado
- e2e/helpers/api.ts: crea/borra usuarios de test vía API de ogCore,
persiste IRIs en .e2e-state.json para evitar problemas entre procesos
- e2e/helpers/auth.ts: loginAs(), navigateTo(), expectSidebarLink()
- e2e/permissions/: 4 specs (super-admin, ou-admin, ou-operator, ou-minimal)
que verifican sidebar, rutas y botones de acción por rol
- package.json: scripts e2e, e2e:headed, e2e:ui, e2e:report
y dependencia @playwright/test
- .gitignore: añade .e2e-state.json y playwright-report/
- elimina test-results/ogGui-junit-report.xml del tracking de git
- auth.service.spec.ts: tests para isSuperAdmin, isOUAdmin, isOUOperator,
isOUMinimal, userCategory y getCurrentRole con tokens JWT sintéticos
- role.guard.spec.ts: matriz completa 26 rutas × 4 roles, verifica
redirección a /groups cuando el acceso está bloqueado
- sidebar.component.spec.ts: verifica ítems visibles por rol
(ou-operator/minimal ven solo /groups; admins ven los 9 ítems)
- ogboot-status.component.spec.ts: corrige import incorrecto
OgbootStatusComponent → GlobalOgbootStatusComponent
Los botones 'Nueva Unidad Organizativa' y 'Nuevo Cliente' (cabecera y
menu contextual del arbol) quedan ocultos para ou-operator, alineando
la UI con la restriccion de backend en ogcore.
Las rutas clients/deploy-image, clients/partition-assistant,
clients/run-script y clients/:id/create-image ahora incluyen
'ou-operator' en allowedRoles.
El execute-command ya tenia deploy-image y partition en la lista de
comandos permitidos para ou-operator; solo faltaba el acceso a la ruta.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Los botones de crear, editar y eliminar en servidores DHCP, Boot,
Comandos y Repositorios quedan visibles unicamente para super-admin,
alineando la UI con las restricciones de backend anadidas en ogcore.