The situation
- Weekly or bi-weekly releases kept repeating the same defects, such as currency field validation and inconsistent styling.
- The team needed much more testing.
- The team faced a hard go-live in May.
What we did
Training and mentoring
We ran sessions on automated testing, component-driven architecture, Angular forms and validation, NgRx, Angular Material and Prettier.
Automated tests
We added Cypress end-to-end tests with page objects, commands and fixtures, added Jest, and wrote integration tests on core logic.
Component refactoring
We refactored common submission components to the container and presenter pattern.
Reusable components
We built a reusable search and filter table, a datepicker, custom theming and a new shared library of form input components.
The result
- Integration tests reached 98 to 100% code coverage on the manage-users and users areas.
- The team gained a shared component library with form input components.
- Common submission components now follow the container and presenter pattern.