Part III · Technical Docs
Chapter 6 - Testing Guide
Actual tests
- No project APP tests:
tests/directory does not exist, even thoughphpunit.xmldefinesUnitandFeaturesuites. - No frontend tests:
package.jsonlacks test script; ESLint/Prettier only. - Vendor dependencies contain their own tests; do NOT count them.
Test infra config
phpunit.xmlconfig:- environment variables set to SQLite in-memory and queue sync, array session/cache, disabled Telescope/Pulse.
- Coverage app path definitions.
phpunit.xmlis present but there is no orchestrator.- Pest is a dev dependency but no test files.
Manual tests recommended
- Each acceptance SID in
Part I - Software Requirements Specification, Chapter 4 (Use Cases and Acceptance Criteria)should be scripted. - Execution notes expected before any regression fixes.
- Preferred approach:
- Company/team setup with
php artisan db:seed(or app with database factory). For production database replication use dump + smoke. - Use
php artisan tinkerand policies. - UI QA approach: CRUD screenshot validation.
Integration testing strategy
- payment callback validation requires ngrok or webhook replay tooling.
- IMAP requires sandbox Gmail with app password and enabling 2-step verification.
- Gemini API requires key and tokens.
- WhatsApp/Slack/Webhook: test webhook via API call.
- AI chat must check cost statistic pre/post.
Security review testing gaps
- Security penetration tests not yet done.
- Automated validation missing (PHPStan/Psalm not configured).
- Frontend accessibility tests.
Overall gap
- Inadequate test coverage renders SRS acceptance criteria unvalidated except by manual inspection. Investing in coverage is essential before enterprise handover.>