#!/usr/bin/env bash 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" 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" "$CREATE_PAGE" "$ADMIN_PAGE" "$API"; do test -f "$file" || { echo "F7 WEB contract: falta $file" exit 1 } done if grep -Fq "label: 'Relevamientos'" "$LAYOUT"; then echo "F7 WEB contract: Relevamientos no debe volver al menú principal" exit 1 fi if grep -Fq 'path="/relevamiento/*"' "$APP"; then 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 DEPARTAMENTO AREA YACIMIENTO INSTALACION SUBINSTALACION; do grep -Fq "kind: '$kind'" "$CREATE_PAGE" done if grep -Fq "kind: 'EQUIPO'" "$CREATE_PAGE"; then echo "F7 WEB contract: EQUIPO no debe restaurarse como nivel estructural" exit 1 fi # 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 # 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'