From 45a1a08b160a06ec0b8a3ef45e5019ce54529a98 Mon Sep 17 00:00:00 2001 From: enlineawork Date: Fri, 11 Sep 2026 21:20:16 -0300 Subject: [PATCH] test(web): replace obsolete F3 inventory contract with F7 simplicity guard --- scripts/check-f3-1-web-contract.sh | 44 ++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/scripts/check-f3-1-web-contract.sh b/scripts/check-f3-1-web-contract.sh index f9567f8..5f1beda 100755 --- a/scripts/check-f3-1-web-contract.sh +++ b/scripts/check-f3-1-web-contract.sh @@ -4,37 +4,59 @@ set -Eeuo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" LAYOUT="$ROOT/web-v2/src/layout/AppLayout.tsx" APP="$ROOT/web-v2/src/app/App.tsx" -PAGE="$ROOT/web-v2/src/pages/InventoryCreatePage.tsx" +CREATE_PAGE="$ROOT/web-v2/src/pages/InventoryCreatePage.tsx" +ADMIN_PAGE="$ROOT/web-v2/src/pages/AuthoritativeInventoryConfigPage.tsx" +API="$ROOT/web-v2/src/lib/inventoryStructureApi.ts" -for file in "$LAYOUT" "$APP" "$PAGE"; do +for file in "$LAYOUT" "$APP" "$CREATE_PAGE" "$ADMIN_PAGE" "$API"; do test -f "$file" || { - echo "F4 WEB contract: falta $file" + echo "F7 WEB contract: falta $file" exit 1 } done if grep -Fq "label: 'Relevamientos'" "$LAYOUT"; then - echo "F4 WEB contract: Relevamientos no debe volver al menú principal" + echo "F7 WEB contract: Relevamientos no debe volver al menú principal" exit 1 fi if grep -Fq 'path="/relevamiento/*"' "$APP"; then - echo "F4 WEB contract: Survey/Relevamiento no debe volver a exponer rutas activas" + echo "F7 WEB contract: Survey/Relevamiento no debe volver a exponer rutas activas" exit 1 fi grep -Fq 'path="/inventarios/nuevo"' "$APP" grep -Fq 'InventoryCreatePage' "$APP" -for kind in AREA YACIMIENTO INSTALACION SUBINSTALACION; do - grep -Fq "kind: '$kind'" "$PAGE" +for kind in DEPARTAMENTO AREA YACIMIENTO INSTALACION SUBINSTALACION; do + grep -Fq "kind: '$kind'" "$CREATE_PAGE" done -if grep -Fq "kind: 'EQUIPO'" "$PAGE"; then - echo "F4 WEB contract: el alta guiada no debe restaurar EQUIPO como quinto nivel estructural" +if grep -Fq "kind: 'EQUIPO'" "$CREATE_PAGE"; then + echo "F7 WEB contract: EQUIPO no debe restaurarse como nivel estructural" exit 1 fi -grep -Fq 'getInventoryFamilyFindings' "$PAGE" +# F7: Yacimiento elige una Empresa ya vinculada al Área; concesión deja de ser una decisión del alta cotidiana. +grep -Fq 'listCompaniesForInventoryArea' "$CREATE_PAGE" +if grep -Fq 'concessionTypeId' "$CREATE_PAGE"; then + echo "F7 WEB contract: el alta simple no debe exponer Tipo de concesión" + exit 1 +fi -echo 'F4 WEB contract: OK' +# El alta normal usa el endpoint simple; el endpoint histórico queda sólo por compatibilidad transitoria. +grep -Fq "'/inventory-structure/simple'" "$API" + +# La configuración técnica visible se reduce a tipos, contención y campos sencillos. +grep -Fq 'Tipos y campos' "$ADMIN_PAGE" +grep -Fq 'Tipos de Instalación' "$ADMIN_PAGE" +grep -Fq 'Tipos de Subinstalación' "$ADMIN_PAGE" +grep -Fq '+ Agregar campo' "$ADMIN_PAGE" + +# El catálogo de Hallazgos no debe mezclarse con el formulario de alta de Inventario. +if grep -Fq 'getInventoryFamilyFindings' "$CREATE_PAGE"; then + echo "F7 WEB contract: el alta simple no debe cargar catálogo de Hallazgos" + exit 1 +fi + +echo 'F7 WEB contract: OK'