-
-
Notifications
You must be signed in to change notification settings - Fork 43
Testing
Akram El Assas edited this page Jul 3, 2025
·
3 revisions
This page covers the testing strategy and practices used in wexCommerce to ensure code quality, stability, and reliability across all components.
- wexCommerce uses Jest as the primary testing framework for integration tests across backend.
- Tests cover critical business logic, API endpoints, and utilities.
- Backend test coverage is maintained above 80% to ensure robust functionality.
- Coverage reports are automatically uploaded to Coveralls and Codecov, providing clear visibility of test quality:
If coverage upload fails during CI, the workflow still succeeds but the repository owner is notified automatically via email through the creation of a hidden issue on GitHub. This ensures awareness without blocking deployments.
You can find more details about integration tests here.
- Manual testing procedures are documented and used for complex flows or UI interactions that require human verification.
- Includes exploratory testing and user acceptance tests before major releases.
You can find more details about manual tests here.
- To maintain code quality, wexCommerce uses Husky pre-commit hooks that run:
- ESLint for code style and syntax
- TypeScript type checking to catch type errors early
- File size checks to avoid large file commits
- The pre-commit script is located at
/pre-commit.js
in the root directory. - These checks help catch errors before code is committed and pushed.
To run all tests locally, use:
cd ./backend
npm run test
- Tests are run automatically on each push via GitHub Actions workflows.
- The CI system runs tests for backend.
For more detailed information and guidelines on writing tests, please refer to the wexCommerce Contribution Guide.
Copyright © Akram El Assas. All rights reserved.
- Overview
- Software Architecture
- Install Guide (Self-hosted)
- Install Guide (Docker)
- Social Login Setup Guide
- Free SSL Setup Guide
- Setup Sentry
- Payment Gateways
- Setup Stripe
- Run from Source
- Run from Source (Docker)
- Fork, Customize, and Sync
- Demo Database
- Change Language and Currency
- Add New Language
- Testing
- Logs
- FAQ
- Release Notes
- Contribution Guide
- Code of Conduct