Testing Strategy

Unit tests run through the Angular CLI test runner (Karma + Jasmine). Each project (support-center, management-console, ft-common) has its own karma.conf.js; the applications also have a src/test.ts entry point.

Running tests

npm run test                                    # ng test (default project)
npm run ng -- test --project=support-center
npm run ng -- test --project=management-console
npm run ng -- test --project=ft-common

Linting

npm run lint                       # ng lint via @angular-eslint 19

Conventions

  • Test files live next to the code they cover (*.spec.ts).

  • Prefer testing ft-common logic once in the shared library rather than duplicating it per portal.

  • Build ft-common before testing an application — both portals resolve @ft/common from dist/ft-common.

End-to-end tests

Both applications still declare a Protractor e2e target (projects/<app>/e2e/protractor.conf.js). Protractor is no longer maintained, so treat the existing configuration as legacy and do not add new suites to it without agreeing on a replacement runner first.