Uecko_ERP/docs/document-series/manual-validation.md
david 5ed6556036 feat(document-series): implement document series management API
- Add UpdateDocumentSeriesController for updating document series.
- Create documentSeriesApiErrorMapper for error handling.
- Define document series routes including CRUD operations.
- Implement Sequelize-based persistence layer for document series.
- Add DTOs for request and response schemas for document series operations.
- Establish common structures for document series data handling.
- Configure TypeScript settings for the document series module.
2026-07-28 18:04:57 +02:00

2.6 KiB

Manual validation

Guia minima de validacion manual para el cierre V1 de document-series. No requiere nueva infraestructura de tests automatizados.

Objetivo

Confirmar que document-series es la fuente operativa unica para series y numeracion nueva de customer-invoices y que las restricciones funcionales V1 siguen activas.

Precondiciones

  • BD de desarrollo con tablas document_series, proformas e issued_invoices
  • DDL de docs/customer-invoices/sql/add-proforma-document-series-columns.sql aplicada si proformas aun no tiene las columnas nuevas
  • seed o migracion conservadora de docs/document-series/sql/migrate-customer-invoice-series-to-document-series.sql aplicada de forma manual si procede
  • backend arrancado con apps/server/.env.development o equivalente seguro de desarrollo

Casos recomendados

  1. Asignacion de issued_invoice desde document-series

    • crear o dejar activa una serie issued_invoice
    • emitir una factura desde el flujo normal
    • comprobar que la referencia/numero resultante coincide con prefix + padded(next_number) + suffix
    • comprobar que document_series.next_number se incrementa exactamente en 1
  2. Asignacion de proforma desde document-series

    • crear o dejar activa una serie proforma
    • crear una proforma desde el flujo normal
    • comprobar que proformas.document_series_id, proformas.proforma_number y proformas.proforma_reference quedan informados
    • comprobar que proforma_reference usa el formato de la serie asignada
  3. Serie inactiva

    • desactivar una serie
    • intentar asignar numeracion con esa serie
    • comprobar que el caso falla y no incrementa next_number
  4. Vigencia invalida

    • configurar una serie con ventana fuera de fecha
    • intentar asignar numeracion
    • comprobar que el caso falla y no incrementa next_number
  5. API canonica de series documentales

    • llamar a /document-series filtrando document_type = proforma
    • llamar a /document-series filtrando document_type = issued_invoice
    • comprobar que la respuesta refleja filas activas de document_series
  6. Endpoint legacy retirado

    • llamar a /catalogs/invoice-series
    • comprobar 404 o endpoint no registrado

Pendiente conocido

branchId aun no se propaga desde customer-invoices hasta assignNextNumber(...). Toda la validacion de esta fase debe asumirse en alcance de empresa.

Estado Fase 2C en este workspace

  • configuracion de desarrollo detectada: si
  • ejecucion real de SQL desde Codex: no
  • motivo: falta cliente mysql en la terminal y la dependencia mysql2 del workspace no pudo abrirse por una dependencia transitiva ausente