Contexto de Dominio
Cada página de esta sección documenta un módulo/feature de controlgmg-v2: modelo/BD, rutas, componentes Vue, permisos (Laratrust), selectores usados por el tester y datos observados en QA. Cubren todo el sidebar de la app.
| Módulo | Cobertura Playwright |
|---|---|
| Home | Sí |
| Centro de Mensajes | Ninguna |
| Usuarios | Ninguna |
| Settings | Ninguna |
| Liquidaciones | Ninguna |
| Expediente Operador | Ninguna |
| Expediente Admin | Ninguna |
| Expediente Clientes | Ninguna |
| Compras | Ninguna |
| Compras Cotizadas | Ninguna — relacionado con GMG-3084 |
| Cartas Porte (Waybills) | Ninguna — relacionado con GMG-3084 |
| Vales | Ninguna |
| Tractores | Sí |
| Taller | Ninguna |
| Remolques | Sí |
| Subcontrataciones | Ninguna |
| Llantas / Inspecciones | Ninguna |
| Control Data | Ninguna |
| Personal | Ninguna |
| GMG-Utils (Videos/Links/Tareas) | Ninguna |
Home, Remolques y Tractores tienen specs de Playwright reales hoy (motor de
testing en tester/, proyecto gmg). El resto es documentación de dominio
para escribir tests después.
Bugs confirmados (reproducidos en vivo en QA, 2026-08-13)
Sección titulada «Bugs confirmados (reproducidos en vivo en QA, 2026-08-13)»- Tractores — selector “Prioridad” nunca muestra opciones (filtro ni editor inline de fila). Sin llamada de red a catálogo de prioridades; el select “Usuario Ejecutivo” en la misma página sí funciona. Detalle en Tractores.
- Tractores — reporte “Historial Situaciones” siempre muestra tabla vacía en los tres filtros, aunque los totales agregados sí calculan correctamente. Detalle en Tractores.
- Tractores — gráfica de pastel “Situaciones al momento” no dibuja datos, pese a que la vista de lista en la misma página sí muestra conteos reales. Detalle en Tractores.
Hallazgos que vale la pena revisar (no confirmados, son pistas)
Sección titulada «Hallazgos que vale la pena revisar (no confirmados, son pistas)»- GMG-3084 (duplicidad de remolques) toca directamente
Compras Cotizadas (FK numérica real
trailer_id, no rompe integridad referencial) y Cartas Porte (Waybill::trailer()sinwithTrashed(), más una columna desnormalizadatrailer_codeaparte del FK). Detalle completo en Remolques. - Posibles permisos copy-paste (mismo patrón sospechoso en 3 módulos
distintos, no confirmado):
- Liquidaciones: botón de papelera usa
can('delete-operator')en vez decan('delete-operation'). - Usuarios: mismo patrón,
can('delete-operator')en vez decan('delete-user'). - Personal: guard de ruta (
view-staff) no coincide con guard del ítem de menú (approve-staff).
- Liquidaciones: botón de papelera usa
- Tractores probablemente NO tiene el bug GMG-3084:
Unit::createOrFindFromAS400()busca por(code, company.code)sin dimensión “propietario” — ver Tractores.
Cuándo actualizar una ficha
Sección titulada «Cuándo actualizar una ficha»- Al añadir specs nuevos para un módulo ya documentado, si descubres un campo, ruta o comportamiento no reflejado aquí.
- Si un test empieza a fallar por un selector roto (markup de la app cambió), actualiza la sección “Selectores” con el nuevo hallazgo.
- Al agregar una query nueva en
tester/projects/gmg/db/queries/, documenta qué regresión detecta y de qué bug/ticket viene. - Varias fichas dejaron secciones marcadas explícitamente “por verificar” (se priorizó velocidad sobre exhaustividad al generarlas) — complétalas la próxima vez que trabajes en ese módulo.
Cómo documentar un módulo nuevo
Sección titulada «Cómo documentar un módulo nuevo»Copia la estructura de Remolques o Liquidaciones: Backend (modelo/tabla/columnas clave), Bugs conocidos (si aplica), Rutas, Frontend (Vue), Permisos, Selectores usados y riesgo de fragilidad, Datos observados en QA con fecha.