task-p4.5.1
This commit is contained in:
37
docs/implementation/task-p.4.5.1-visual-qa-checklist.md
Normal file
37
docs/implementation/task-p.4.5.1-visual-qa-checklist.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Task P.4.5.1 Visual QA Checklist
|
||||
|
||||
## Automated checks
|
||||
|
||||
- PDF generation succeeds for every fixture
|
||||
- baseline manifest exists for every fixture
|
||||
- page count matches stored baseline
|
||||
- rendered section order matches stored baseline
|
||||
- signature block remains on the last page
|
||||
- `items_table` row shape remains seven columns
|
||||
- runtime produces no error-severity issues
|
||||
- 500-item performance fixture generates without crash
|
||||
|
||||
## Manual checks
|
||||
|
||||
- company block alignment
|
||||
- customer block alignment
|
||||
- quotation code and quotation date alignment
|
||||
- product table header repetition on multi-page item fixtures
|
||||
- table borders remain continuous across page breaks
|
||||
- long-description rows do not clip text
|
||||
- Thai and English mixed text remain readable
|
||||
- signature block spacing remains intact
|
||||
- topic spacing and numbering remain consistent
|
||||
- footer copy remains aligned
|
||||
|
||||
## Review scope
|
||||
|
||||
- `ALLA`
|
||||
- `ONVALLA`
|
||||
- empty state
|
||||
- single item
|
||||
- standard 4-item case
|
||||
- 20-item pagination case
|
||||
- 100-item heavy pagination case
|
||||
- long-description wrapping case
|
||||
- multi-topic continuation case
|
||||
65
docs/implementation/task-p.4.5.1-visual-regression-report.md
Normal file
65
docs/implementation/task-p.4.5.1-visual-regression-report.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# Task P.4.5.1 Visual Regression Report
|
||||
|
||||
## Scope
|
||||
|
||||
This task establishes reusable visual regression baselines for Product Item quotation templates without changing quotation runtime architecture.
|
||||
|
||||
Implemented outputs:
|
||||
|
||||
- baseline fixture generation under [fixtures/pdf-visual/README.md](/C:/Users/mtpphtaps/Documents/gitea/alla-allaos-fullstack/fixtures/pdf-visual/README.md)
|
||||
- automated visual-regression audit script at [scripts/audit-pdf-visual-regression.ts](/C:/Users/mtpphtaps/Documents/gitea/alla-allaos-fullstack/scripts/audit-pdf-visual-regression.ts)
|
||||
- manual QA checklist at [docs/implementation/task-p.4.5.1-visual-qa-checklist.md](/C:/Users/mtpphtaps/Documents/gitea/alla-allaos-fullstack/docs/implementation/task-p.4.5.1-visual-qa-checklist.md)
|
||||
|
||||
## Generated fixture set
|
||||
|
||||
Baselines are organized by reusable scenario:
|
||||
|
||||
- `quotation-empty`
|
||||
- `quotation-single-item`
|
||||
- `quotation-standard`
|
||||
- `quotation-20-items`
|
||||
- `quotation-100-items`
|
||||
- `quotation-long-description`
|
||||
- `quotation-multi-topic`
|
||||
|
||||
Each scenario stores `ALLA` and `ONVALLA` golden PDFs plus manifest metadata.
|
||||
|
||||
## Automated validation coverage
|
||||
|
||||
The visual regression script validates:
|
||||
|
||||
- PDF generation success
|
||||
- page count stability
|
||||
- section order stability
|
||||
- Product Item page presence through runtime structure
|
||||
- `items_table` seven-column contract
|
||||
- signature block remaining on the last rendered page
|
||||
- runtime issue severity
|
||||
- 500-item generation performance smoke check
|
||||
|
||||
Current run report is written to:
|
||||
|
||||
- `artifacts/pdf-visual/visual-regression-report.json`
|
||||
- `artifacts/pdf-visual/visual-regression-report.md`
|
||||
|
||||
## Screenshot strategy
|
||||
|
||||
This environment does not currently provide a PDF-to-image renderer such as `pdftoppm`, Ghostscript, or ImageMagick, and `sharp` cannot rasterize the generated PDFs here.
|
||||
|
||||
Because of that:
|
||||
|
||||
- golden PDF baselines are generated now
|
||||
- current-run PDFs are generated now
|
||||
- manifest-based regression comparison is automated now
|
||||
- pixel screenshot comparison is documented but not automated in this environment
|
||||
|
||||
If a renderer is added later, the current fixture layout can be extended without changing the dataset contract.
|
||||
|
||||
## Acceptance mapping
|
||||
|
||||
- visual fixtures created = PASS
|
||||
- golden PDF baselines created = PASS
|
||||
- future regression comparison path created = PASS
|
||||
- automated layout validation added where practical = PASS
|
||||
- screenshot automation documented with environment limitation = PASS
|
||||
- manual visual sign-off still required for true pixel review = PENDING
|
||||
@@ -49,6 +49,13 @@ npm run build
|
||||
npm run verify:encoding
|
||||
npm run verify:crm-access
|
||||
npm run audit:pdf
|
||||
npm run audit:pdf:visual
|
||||
```
|
||||
|
||||
Refresh PDF visual baselines:
|
||||
|
||||
```bash
|
||||
npm run audit:pdf:visual:baseline
|
||||
```
|
||||
|
||||
## Script guide
|
||||
|
||||
Reference in New Issue
Block a user