GSA / GSA/sam-ui-elements

Close remaining coverage gap to 90% QASP target (branches lag furthest)

Open
#669 0 comments 0 reactions 1 assignee Claimed by @fpigeonjr View on GitHub
angular-upgrade
Dominant language
TypeScript
Stars
8
Forks
33
Avg merge
2d 51m
Merged PRs (30d)
65

Description

## Parent
GSA/sam-ui-elements#576

## Context
GSA/sam-ui-elements#637 re-measured coverage after all ten epic sub-issues (#627–#636) landed and locked `coverage-floor.json` at the measured values. None of the four metrics reached the 90% QASP target:

| metric | measured | target | gap |
|---|---|---|---|
| statements | 88.73% | 90% | 1.27 pts |
| branches | 78.65% | 90% | **11.35 pts** |
| functions | 85.90% | 90% | 4.10 pts |
| lines | 88.72% | 90% | 1.28 pts |

Branches lags furthest by a wide margin and should be the priority for follow-up spec work.

## What to build
Add specs (or extend existing ones) that exercise the untested branches in the modules below, re-run `npm --prefix test-app test`, and bump `coverage-floor.json` via `npm run coverage:bump` as its own standalone commit once all four metrics are at or above 90%.

### Thinnest branch coverage (from the #637 measurement)
- `src/ui-kit/experimental/patterns/layout/components/**` — several files at 0% branch coverage: `main.component.ts`, `core/overlay/overlay.ts`, `core/overlay/overlay-container.ts`, `core/overlay/scroll/scrollable.ts`, `core/overlay/position/viewport-ruler.ts`, `core/coordination/unique-selection-dispatcher.ts`, `expansion/expansion-panel.ts`, `expansion/expansion-panel-header.ts`, `expansion/accordion-item.ts`, `actionbar.component.ts`, `page/page.component.ts`
- `src/ui-kit/components/banner/banner.component.ts` — 0%
- `src/ui-kit/components/header-next/header.component.ts` — 0%
- `src/ui-kit/experimental/tabs/tab-nav-bar/tab-nav-bar.ts` — 0%
- `src/ui-kit/layout/pagination/pagination.component.ts` — 10%
- `src/ui-kit/pipes/short-date/short-date.pipe.ts` — 33%
- `src/ui-kit/experimental/patterns/layout/architecture/update/reducer.ts` — 33%
- `src/ui-kit/form-templates/international-phone/international.component.ts` — 33%
- `src/ui-kit/experimental/listbox/listbox.component.ts` — 36%
- `src/ui-kit/components/sidenav/services/sidenav.service.ts` — 38%
- `src/ui-kit/components/data-table/sort-header.component.ts` — 42%
- `src/ui-kit/experimental/icon/fa-icon/shared/utils/normalize-icon-spec.util.ts` — 42%
- `src/ui-kit/components/multiselect-dropdown/multiselect-dropdown.component.ts` — 48%
- `src/ui-kit/experimental/hierarchical/autocomplete/autocomplete.component.ts` — 49% (82 branches — largest single opportunity)

## Acceptance criteria
- [ ] Statements, branches, functions, and lines all measured at or above 90% in `test-app/coverage/coverage-summary.json`
- [ ] `coverage-floor.json` bumped via `coverage:bump` and committed as its own standalone commit/PR
- [ ] CI passes with the raised floor
- [ ] Parent epic (#576) re-reviewed and closed if this closes out its remaining AC

## Blocked by
- GSA/sam-ui-elements#637

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.