# 2026-03-28 Q-004 Coverage Remediation Pass 22

## Scope

- Continue strict `Q-004` closure work after Pass 21.
- Fully close the remaining `ImportExportPage` hotspot in:
  - `frontend/admin/src/pages/admin/ImportExportPage/ImportExportPage.tsx`
- Re-verify closure through targeted page tests and full frontend validation.

## Changes

### Frontend

- Expanded page-level coverage in:
  - `frontend/admin/src/pages/admin/ImportExportPage/ImportExportPage.test.tsx`
- Newly covered behavior includes:
  - import template download success with the default format
  - import format switching and template download failure handling
  - unsupported file-type rejection
  - oversized file rejection before the service call
  - supported import failure handling
  - successful CSV import summary rendering
  - XLSX import warning-state rendering with backend row errors
  - import-flow reset after a completed run
  - export empty-field guard
  - export field selection updates
  - export submission with keyword present
  - export submission with keyword omitted
  - export failure handling
- The test file now also shields `rc-table` from jsdom's unsupported pseudo-element `getComputedStyle` path so the page-level test no longer introduces that extra noise.

### Backend

- No backend code changes were required in this pass.

## Verified Commands

```powershell
cd D:\project\frontend\admin
npm.cmd run test:run -- src/pages/admin/ImportExportPage/ImportExportPage.test.tsx
npm.cmd run lint
npm.cmd run build
npm.cmd run test:coverage
```

## Results

### Frontend coverage

- Overall:
  - statements `93.56%`
  - branches `81.95%`
  - functions `90.93%`
  - lines `93.71%`
- Target area:
  - `src/pages/admin/ImportExportPage/ImportExportPage.tsx`: statements `100%`, branches `100%`, functions `100%`, lines `100%`

### Validation outcomes

- Targeted page validation passed:
  - `1` passing test file
  - `8` passing tests
- Full frontend coverage run now completes with:
  - `51` passing test files
  - `242` passing tests
- The required sequential frontend validation path passed:
  - `test:run -- src/pages/admin/ImportExportPage/ImportExportPage.test.tsx`
  - `lint`
  - `build`
  - `test:coverage`

## Validation Notes

- The successful frontend coverage run still emits post-summary jsdom `AggregateError` network-noise lines.
  - The command exits with code `0`.
  - This remains a real validation-hygiene issue and cannot be hidden or described as a fully clean run.
- The `ImportExportPage` test no longer emits the extra jsdom `window.getComputedStyle(..., pseudoElt)` noise that appeared during the first draft of this pass.

## Real Conclusion

- `src/pages/admin/ImportExportPage/ImportExportPage.tsx` is no longer an open `Q-004` gap.
- `Q-004` still cannot be honestly declared closed.
- After this pass, the remaining higher-value frontend gaps narrow further to:
  - `src/pages/NotFoundPage/NotFoundPage.tsx`
  - `src/lib/hooks/useBreadcrumbs.ts`
  - `src/app/providers/ThemeProvider.tsx`
  - the post-summary jsdom `AggregateError` coverage-noise hygiene issue
