Skip to content

test: вдигане на coverage към 95% с дълбоки, реални тестове (follow-up на #216) #217

Description

@lyubomir-bozhinov

Какво и защо

#216 добави измерване + ratchet праг (closes #93), но seed-натите подове са ниски точно на accuracy-критичните слоеве — apps/etl 18.7%, packages/db branches 65.5%, packages/config branches 58.3%. Ratchet-ът пази срещу регресия, но не води нагоре. Този issue е дестинацията: вдигаме покритието с дълбоки, реални тестове (проектният стандарт), без cheater-тестове.

Цел

  • Измерени workspace-и (web / db / config / ingest / shared): 95% lines като enforced междинна цел, по пътя към стандарта 100% deep-real. Приоритет — branch подовете на accuracy слоевете: packages/db 65.5% и packages/config 58.3% (там живеят value_flag, деление-гардовете, праговете). Branches, не само lines.
  • Качество, не число: всеки coverage-вдигащ PR доказва чувствителност на теста (mutation / fail-injection — тестът трябва да пада, когато кодът се счупи). Без assertion-less тестове, без покриване заради процента.
  • ETL derive слой — поведенчески, не %: derive логиката (normalize-raw.sql / precompute.sql / refresh-slice.sql / derive-health.sql + scripts/*.mjs) е ИЗВЪН coverage обхвата (scripts/ не е workspace; SQL не се инструментира от v8). Целта там е разширяване на D1 интеграционните тестове (packages/db/src/{refresh-slice,ship-domain,derive-health}.test.ts срещу реален sqlite) + Данни: регресионен golden-dataset за проследими тотали #99 (golden-dataset за проследими тотали). Плюс ред в docs/review-testing.md, че coverage% не говори за коректността на derive-а.

Enforcement

#216 ratchet-ът държи линията (всеки PR вдига baseline-а при покачване). Този issue проследява изкачването до целта; затваря се, когато измерените workspace-и достигнат 95% lines + договорените branch цели, а derive слоят е покрит поведенчески.

Свързани

Follow-up на #216 (харнес) / #93. Подпира #98 (единна стойностна база), #99 (golden-dataset), #94 (integration lane).

Metadata

Metadata

Labels

data-qualityКачество/коректност на данните (ETL, регистри)etlОбласт: etlpriority: highВисок приоритетwebОбласт: web

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions