Skip to content

Migrate the 26 client and loan specs from Karma to Vitest #406

Description

@Aman-Mittal

Part of #403. Good first issue — two adjacent areas, 13 specs each, all mechanical.

What to do

src/app/features/clients/ (13) and src/app/features/loans/ (13) still run on the deprecated Karma runner. They can go in one PR or two — say which you are taking in a comment so two people do not collide.

node scripts/codemod-jasmine-to-vitest.mjs $(node -p "require('./karma-baseline.json').specs.filter(f=>/^src\/app\/features\/(clients|loans)\//.test(f)).join(' ')")
npm run test:unit
node scripts/check-test-runner.mjs --write
npm run lint:prune && npm run format
npm test -- --watch=false

All 26 convert cleanly — the codemod reports 0 left for a human for both areas.

Acceptance criteria

  • No .spec.ts files remain under the area(s) you took
  • npm run test:unit and npm test -- --watch=false both pass
  • Karma total + Vitest total unchanged — quote both in the PR
  • karma-baseline.json updated in the same commit
  • npm run lint and npm run format:check clean

Things that trip people up

  • Run npm run lint:prune after the rename — eslint-suppressions.json is keyed by path. The suppression count should not change, only the paths.
  • These are the busiest screens in the app, so the specs are longer than average. That makes the diff big but no harder: the codemod does the work, and your job is to confirm the suite is still green and the totals still add up.
  • Migrate as-is; open a separate issue for anything that looks wrong.

Background: DOCS/adr/0004-vitest-migration.md.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions