feat: centralizar helpers de tests (ymdUTC/addDays) y marcar Lote 2

Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
main
brobert 1 month ago
parent 1ad36ee898
commit 240406aace

@ -78,14 +78,17 @@ Resultados esperados después del refactor: disminución drástica de duplicados
- 2025-11-07:
- Lote 0 completado: scripts `typecheck:core` y `typecheck:web` configurados y verificados. Se utiliza `tsconfig.core.json` para aislar el typecheck del core con reglas laxas, mientras que la web usa su propia configuración de SvelteKit. Los shims en `src/types/shims.d.ts` resuelven conflictos de tipos entre Bun y el DOM.
- Verificación exitosa: `bun run typecheck:core` y `bun run typecheck:web` se ejecutan sin errores.
- 2025-11-09:
- Lote 2 completado: centralización de helpers de tests (sha256Hex, toIsoSql), unificación de SimulatedResponseQueue y helpers ICS (ymdUTC, addDays) en tests.
- Commits relevantes: 77e318e, 1ad36ee, y este commit.
## Estado actual (2025-11-07)
## Estado actual (2025-11-09)
- Fase 1 — Diagnóstico asistido: Completada.
- Fase 2 — Plan de refactor por lotes: En curso.
- Lote 0 — Infra de typecheck: Completado.
- Lote 1 — Utilidades de fecha/hora y validaciones: Completado.
- Lote 2 — Helpers de test y cripto: Pendiente.
- Lote 2 — Helpers de test y cripto: Completado.
- Lote 3 — Tipos y endurecimiento suave: Pendiente.
- Lote 4 — ICS central y rutas homogéneas: Pendiente.
- Lote 5 — Svelte: dividir componentes grandes: Pendiente.
@ -125,7 +128,7 @@ Cada lote incluye objetivo, cambios, métricas y comprobaciones. Mantener tests
- Comprobaciones:
- Tests ICS y API siguen verdes.
### Lote 2 — Helpers de test y cripto
### Lote 2 — Helpers de test y cripto - Completado
- Objetivo:
- Eliminar duplicación en tests.

@ -23,3 +23,16 @@ export function addDaysToYMD(ymd: string, days: number, tz: string = 'Europe/Mad
base.setUTCDate(base.getUTCDate() + days);
return ymdInTZ(base, tz);
}
export function ymdUTC(date: Date = new Date()): string {
const yyyy = String(date.getUTCFullYear()).padStart(4, '0');
const mm = String(date.getUTCMonth() + 1).padStart(2, '0');
const dd = String(date.getUTCDate()).padStart(2, '0');
return `${yyyy}-${mm}-${dd}`;
}
export function addDays(date: Date, days: number): Date {
const d = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
d.setUTCDate(d.getUTCDate() + days);
return d;
}

@ -5,20 +5,9 @@ import { createTempDb } from './helpers/db';
import { sha256Hex } from '../helpers/crypto';
import { toIsoSql } from '../helpers/dates';
import { toIsoSql, ymdUTC, addDays } from '../helpers/dates';
function ymdUTC(date = new Date()): string {
const yyyy = String(date.getUTCFullYear()).padStart(4, '0');
const mm = String(date.getUTCMonth() + 1).padStart(2, '0');
const dd = String(date.getUTCDate()).padStart(2, '0');
return `${yyyy}-${mm}-${dd}`;
}
function addDays(date: Date, days: number): Date {
const d = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
d.setUTCDate(d.getUTCDate() + days);
return d;
}
function pad4(n: number): string {
const s = String(Math.floor(n));

@ -5,20 +5,9 @@ import { createTempDb } from './helpers/db';
import { sha256Hex } from '../helpers/crypto';
import { toIsoSql } from '../helpers/dates';
import { toIsoSql, ymdUTC, addDays } from '../helpers/dates';
function ymdUTC(date = new Date()): string {
const yyyy = String(date.getUTCFullYear()).padStart(4, '0');
const mm = String(date.getUTCMonth() + 1).padStart(2, '0');
const dd = String(date.getUTCDate()).padStart(2, '0');
return `${yyyy}-${mm}-${dd}`;
}
function addDays(date: Date, days: number): Date {
const d = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
d.setUTCDate(d.getUTCDate() + days);
return d;
}
function pad4(n: number): string {
const s = String(Math.floor(n));

@ -5,20 +5,9 @@ import { createTempDb } from './helpers/db';
import { sha256Hex } from '../helpers/crypto';
import { toIsoSql } from '../helpers/dates';
import { toIsoSql, ymdUTC, addDays } from '../helpers/dates';
function ymdUTC(date = new Date()): string {
const yyyy = String(date.getUTCFullYear()).padStart(4, '0');
const mm = String(date.getUTCMonth() + 1).padStart(2, '0');
const dd = String(date.getUTCDate()).padStart(2, '0');
return `${yyyy}-${mm}-${dd}`;
}
function addDays(date: Date, days: number): Date {
const d = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
d.setUTCDate(d.getUTCDate() + days);
return d;
}
function pad4(n: number): string {
const s = String(Math.floor(n));

Loading…
Cancel
Save