fix(e2e): PILOT-REHOME сравнивает счётчики dry-run как числа
Почему это ошибка сценария, а не подгонка под продукт: C6 не фиксирует тип счётчиков, count(*) из PostgreSQL приходит в node-postgres строкой (bigint), а сам сценарий уже фильтровал `Number(n) > 0` и сравнивал сумму журнала через String(). Строгое сравнение '2' с 2 роняло проверку при верных числах (диагностика на codex/fix-tenant-rehomed52ecf3: `expected { staff_attendance_events: '2', …(26) } to deeply equal { staff_attendance_events: 2, …(26) }`). Остальные проверки не ослаблены: JSON последней строкой, сумма журнала в dry-run, перенос без флага и все сверки после переноса — как в C6. На основеf7d3c73[PILOT-REHOME] по-прежнему красный (скрипта нет), run-e2e: `Tests 46 failed | 10 passed (56)`, `[run-e2e] OK`.
This commit is contained in:
parent
a6a1b5e937
commit
d477dde387
1 changed files with 5 additions and 1 deletions
|
|
@ -466,8 +466,12 @@ describe('PILOT-REHOME: перенос заглушки арендатора н
|
|||
const dry = runRehome(['--dry-run', '--json'], adminUrl);
|
||||
expect(dry.status, `dry-run exit: ${dry.stderr}`).toBe(0);
|
||||
expect(dry.report, `dry-run без JSON-отчёта: ${dry.stdout}`).not.toBeNull();
|
||||
// Счётчики сравниваются как числа: count(*) из pg приходит строкой (bigint), C6 тип не фиксирует,
|
||||
// а фильтр `Number(n) > 0` и сравнение суммы журнала и раньше допускали строку.
|
||||
const dryTables = Object.fromEntries(
|
||||
Object.entries(dry.report!.tables ?? {}).filter(([, n]) => Number(n) > 0),
|
||||
Object.entries(dry.report!.tables ?? {})
|
||||
.map(([table, n]) => [table, Number(n)] as const)
|
||||
.filter(([, n]) => n > 0),
|
||||
);
|
||||
expect(dryTables).toEqual(expectedTables);
|
||||
expect(String(dry.report!.ledger_amount_minor_sum)).toBe(before!.stub.ledgerSum);
|
||||
|
|
|
|||
Loading…
Reference in a new issue