Skip to content

Code Quality

Dylan Barkowsky edited this page Oct 10, 2024 · 8 revisions

Code Quality

All effort has been made to ensure the code and architecture of the PIMS solution is of the highest quality. Stories with testable features require unit tests to be created, and they are automatically run during all Pull Requests. Best practices and standards are followed and enforced through continual peer-review and code-review.

Tools

There are a number of tools used to aid code quality.

Name Description
Coding Standards Common standards for syntax and tooling is enforced for all languages used (JavaScript, TypeScript, SQL, Python). These standards are defined within the Full Stack Developer chapter of CITZ:IMB.
Linters All source code is parsed automatically using ESLint to ensure standardization through linting. ESLint is used for all TypeScript and JavaScript code. Linting issues block the merging of Pull Requests.
Code Climate Third-party tool to provide insight into the quality or maintainability of the code. Not currently configured to give code coverage across the repository as a whole.
Unit Testing Automated tests to ensure functionality is valid and help with regression testing. These run when Pull Requests are opened or synchronized. Accomplished using React Testing Library and Jest. For API testing, the coverage threshold is set to 80%.
Functional Testing Test instructions are included with for each ticket to ensure new enhancements, features and bugs are manually tested by developers and product owners.
Integration Testing Integration testing with the newest version of PIMS is still ongoing.
Automated Functional Testing (End-to-End) Playwright is set up for manually-run end-to-end testing. See the README file under e2e for instructions.
OWASP ZAP Third-party tool to review code security quality.
Clone this wiki locally