Skip to content

test(dataviewer): add tests for remaining feature components #222

@WilliamBerryiii

Description

@WilliamBerryiii

Problem Statement

After completing the focused component test issues (#214#221), some components will remain untested — shared UI primitives, layout wrappers, context providers, error boundaries, routing components, and feature-specific components not covered by the earlier issues. This catch-all issue covers the remaining gap to reach 80% overall frontend coverage.

Parent tracking issue: #210
Depends on: All prior test issues (#211#221)

Scope

Remaining untested areas (examples — actual scope determined by coverage gaps):

Acceptance Criteria

  • All remaining untested components have corresponding .test.tsx files
  • Tests follow the same patterns established in earlier issues
  • Error boundaries tested with error-throwing children
  • Context providers tested with consumer components
  • Overall src/ coverage reaches 80% for lines, functions, branches, and statements
  • npm run test:coverage passes with thresholds enforced
  • All new tests pass with npm run test

How to Identify Remaining Gaps

Run npm run test:coverage and check the coverage report for files below 80%. Prioritize:

  1. Files with 0% coverage
  2. Files with complex logic below threshold
  3. Files with high usage (imported by many other files)

RPI Tutorial

Phase 1: Research — /task-research

/task-research topic="Frontend coverage gaps — run coverage report for src/dataviewer/frontend/src/, identify all files below 80% coverage not already covered by issues #214-#221, categorize by component type"

Phase 2: Plan — /task-plan

/task-plan research="{research-output}/remaining-component-tests.md"

Phase 3: Implement — /task-implement

/task-implement plan="{plan-output}/remaining-component-tests-plan.instructions.md"

Phase 4: Review — /task-review

/task-review plan="{plan-output}/remaining-component-tests-plan.instructions.md"

Review focus:

  • Coverage thresholds met (80% lines, functions, branches, statements)
  • No test files are empty or trivial (just rendering without assertions)
  • Error boundary tests actually trigger error recovery
  • No coverage gaps hidden by overly broad exclude patterns

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or improvement requesttestingTesting-related issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions