Skip to content

feat(productos): el ADMIN puede administrar la carta y el menu del dia - #31

Merged
davidpp09 merged 1 commit into
mainfrom
feat/platillos-para-admin
Aug 12, 2026
Merged

davidpp09 merged 1 commit into
mainfrom
feat/platillos-para-admin

Conversation

@davidpp09

Copy link
Copy Markdown
Owner

Va en pareja con RestFoodF feat/carrito-todos-y-platillos-admin. Merge los dos juntos: si entra solo el frontend, el ADMIN ve la pantalla de Platillos y recibe 403 al guardar.

Qué cambia

POST, PUT y DELETE /productos pasan de hasRole('DEV') a hasAnyRole('ADMIN','DEV'). Dar de alta un platillo, corregir un precio y borrar de la carta era exclusivo de DEV; el dueño es quien lo hace en la vida real.

De paso se cierra un hueco que ya estaba: el ADMIN veía Platillos del Día en su menú, pero PATCH /productos/{id}/dia y PUT /productos/desactivar-dia/{categoriaId} no lo aceptaban. La pantalla cargaba y fallaba al activar un platillo.

Qué NO cambia

Nadie más gana permisos. MESERO y REPARTIDOR siguen igual, y el tope de platillos activos por categoría (el que cuida los 5 renglones del PDF) sigue intacto.

El test

PermisosProductosTest compara conjuntos exactos, no "contiene". Avisa en las dos direcciones: si a alguien se le va el permiso de menos y la pantalla se rompe, y —más importante— si se le va de más hacia un MESERO y cualquiera desde una tablet puede borrar platillos.

Se comprobó que sabe fallar: metiéndole MESERO al borrado a propósito, falla con expected: <[DEV, ADMIN]> but was: <[ADMIN, DEV, MESERO]>.

Local: todo verde menos contextLoads, que necesita el MySQL que el CI levanta.

Dar de alta, editar y borrar platillos era exclusivo de DEV. Se abre a
ADMIN, que es el dueno y quien cambia precios de verdad. Sin esto, la
pantalla de Platillos que el frontend le acaba de dar responderia 403.

De paso se cierra un hueco que ya existia: el ADMIN veia Platillos del Dia
en su menu, pero actualizarDia y desactivarDia no lo aceptaban, asi que la
pantalla cargaba y fallaba al activar un platillo.

El test compara conjuntos exactos, no contiene: avisa igual si a alguien se
le va el permiso de mas hacia un MESERO. Se comprobo que sabe fallar
metiendole MESERO al borrado a proposito.
@davidpp09
davidpp09 merged commit 81435c9 into main Aug 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant