Skip to content

Automated Tests

Automated Tests

The platform employs a comprehensive automated testing suite to maintain quality: - Tools: - Jest: Used for unit testing the Frontend (React) and Admin Portal (Vite) to verify component functionality. - Pytest: Used for unit and integration testing the Backend (FastAPI) to ensure API reliability. - ESLint: Lints JavaScript/TypeScript code in frontend/ and admin portal/ for code quality. - Pylint: Lints Python code in backend/ and telegram-bot/ for style and error detection. - SonarQube: Performs static analysis to identify code smells, bugs, and vulnerabilities. - Test Coverage: - Unit tests cover critical functionalities, such as course filtering, user registration, and course addition. - Integration tests verify interactions between the Frontend, Admin Portal, Backend, and Database (e.g., API calls for course data retrieval). - Five new unit tests and five new integration tests were added in the UserQualityAssurance branch (Commit). - CI Pipeline: Defined in .gitlab-ci.yml, the pipeline runs all tests and static analysis on every push or merge request, failing if any checks do not pass. - Execution: Tests are executed automatically via the CI pipeline. Manual execution is possible using npm test for Frontend and Admin Portal, and pytest for Backend, in their respective directories.