feat(F-116): completed feature
This commit is contained in:
25
work/artifacts/F-116/implementer.md
Normal file
25
work/artifacts/F-116/implementer.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# F-116 — Traducir categorías legacy a Español (Title Case)
|
||||
|
||||
## Cambios
|
||||
- `src/modules/categories/legacy/legacy-catalog.ts`:
|
||||
- `CATEGORY_TRANSLATIONS`: tabla de traducción para las 39 categorías reales (incluye las que ya estaban en español como alias).
|
||||
- `translateCategoryName(name)`: devuelve el nombre en español o el original si no hay mapping.
|
||||
- `buildRenamePlan(existingCategoryNames)`: lista de renombres en sitio (ocId, oldName, newName).
|
||||
- `buildImportPlan`: ahora ignora entradas cuyo nombre en inglés ya está en el catálogo (las maneja el rename plan).
|
||||
- `src/modules/categories/tests/legacy-catalog.test.ts`: 3 nuevos tests (Title Case, cobertura, renombre).
|
||||
- `scripts/seed-legacy-categories.mjs`:
|
||||
- `buildRenamePlan` se calcula al inicio.
|
||||
- Tras los inserts, ejecuta `UPDATE categories_categories SET name = $1 WHERE name = $2` por cada rename.
|
||||
- Idempotente: re-ejecuciones no renombran nada.
|
||||
|
||||
## Aplicación
|
||||
- 30 categorías renombradas en su lugar (slugs conservados).
|
||||
- 0 inserts nuevos (todas las categorías ya existían desde F-114).
|
||||
- 0 renames en segunda ejecución (idempotente).
|
||||
|
||||
## Evidencia
|
||||
- `npm run typecheck` OK.
|
||||
- `npm test`: 172 passed / 0 failed (3 nuevos).
|
||||
- `npm run build` OK.
|
||||
- DB: `nuts-and-seeds` → "Frutos Secos y Semillas", `wine` → "Vino", `tea-and-infusions` → "Té e Infusiones", `home` → "Hogar".
|
||||
- URLs (`/categoria/<slug>`) intactas: los slugs no cambian.
|
||||
Reference in New Issue
Block a user