Modern ERP Reports Application with microservices architecture Tech Stack: - Backend: FastAPI + python-oracledb (Oracle DB integration) - Frontend: Vue.js 3 + PrimeVue + Vite - Telegram Bot: python-telegram-bot + SQLite - Infrastructure: Shared database pool, JWT authentication, SSH tunnel Features: - FastAPI backend with async Oracle connection pool - Vue.js 3 responsive frontend with PrimeVue components - Telegram bot alternative interface - Microservices architecture with shared components - Complete deployment support (Linux Docker + Windows IIS) - Comprehensive testing (Playwright E2E + pytest) Repository Structure: - reports-app/ - Main application (backend, frontend, telegram-bot) - shared/ - Shared components (database pool, auth, utils) - deployment/ - Deployment scripts (Linux & Windows) - docs/ - Project documentation - security/ - Security scanning and git hooks
6.8 KiB
6.8 KiB
🚀 ROA2WEB Testing - Quick Start
Ghid rapid pentru rularea testelor Playwright cu detectarea problemelor reale.
⚡ Start Rapid
# 1. Instalează dependențele (prima dată)
npm install
# 2. Curăță fișierele temporare (recomandat)
./cleanup-tests.sh
# 3. Rulează toate testele cu analiză completă
./run-comprehensive-tests.sh
# 4. Pentru teste simple/CI
./run-tests.sh
📋 Scripturi Disponibile
| Script | Platformă | Descriere | Funcționalitate |
|---|---|---|---|
run-comprehensive-tests.sh |
Linux/macOS/WSL | 🎯 RECOMANDAT - Testare completă cu detecție probleme | Analiză avansată, recomandări, raportare detaliată |
run-tests.sh |
Linux/macOS/WSL | Script Playwright standard | Testare de bază mock + integrare |
cleanup-tests.sh |
Linux/macOS/WSL | Curățare fișiere temporare | Screenshots, videos, rapoarte |
🎯 Comenzi Esențiale
🚀 Testare Comprehensivă (RECOMANDATĂ)
./run-comprehensive-tests.sh # Toate testele + analiză completă
./run-comprehensive-tests.sh --no-cleanup # Fără curățarea fișierelor
./run-comprehensive-tests.sh --no-real-world # Doar teste de bază
./run-comprehensive-tests.sh --help # Toate opțiunile
🔧 Testare Standard
./run-tests.sh # Teste mock + integrare
./run-tests.sh --no-mock # Doar teste de integrare
./run-tests.sh --no-integration # Doar teste mock
🧹 Curățare & Management
./cleanup-tests.sh # Curăță toate fișierele temporare
./cleanup-tests.sh --deep # Curățare avansată + cache
🔍 Debug & Development
npx playwright test auth/login.spec.js --headed # Login cu UI vizibil
npx playwright test --debug # Debug interactiv
npx playwright show-report # Afișează ultimul raport
📊 Ce Testează
🎭 Testare Comprehensivă
- ✅ Authentication Flow (10 teste): Login real, validare, token management
- ✅ Real-World Scenarios (4 teste): Journey complet utilizator, performance
- ✅ Issue Detection (4 teste): Debugging, network monitoring, CORS
- ✅ Reports Functionality (2 teste): Companies, invoices, payments API
- ✅ Responsive Design (4 teste): Mobile, tablet, desktop, orientări
🔧 Testare Standard
- ✅ Basic Auth (10 teste): Login, validare, erori
- ✅ Dashboard (8 teste): Companii, statistici, navigare
- ✅ Invoices (10 teste): Liste, filtrare, export
- ✅ Payments (12 teste): Încasări, totalizări, metodă
- ✅ Responsive (9 teste): Breakpoint-uri, touch interactions
Total: 70+ teste specifice + 200+ teste standard pe 5 browsere
🔧 Setup Minim
cd roa2web/reports-app/frontend
npm install # Instalează dependențele
npx playwright install # Instalează browserele
chmod +x *.sh # Permisiuni pentru scripturi
./run-comprehensive-tests.sh --help # Verifică că totul funcționează
📋 Prerequisites pentru Testare
# 1. Servicii necesare (în terminale separate):
cd roa2web/reports-app/backend && uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
cd roa2web/reports-app/frontend && npm run dev
cd roa2web && ./ssh_tunnel.sh start
# 2. Verifică că serviciile rulează:
curl http://localhost:8000/health # Backend
curl http://localhost:3001 # Frontend
nc -z localhost 1521 # SSH Tunnel
📱 Browsere Suportate
- Chromium (Chrome/Edge) - Principal pentru debugging
- Firefox - Cross-browser compatibility
- WebKit (Safari) - Apple ecosystem
- Mobile Chrome (Pixel 5) - Mobile testing
- Mobile Safari (iPhone 12) - iOS testing
🎭 Exemple Practice
# 🚀 Workflow Development (RECOMANDAT)
./cleanup-tests.sh # Curăță vechile fișiere
./run-comprehensive-tests.sh # Toate testele cu analiză
cat test-reports-*/comprehensive-test-report.md # Vezi raportul
# 🔧 Workflow Standard/CI
./run-tests.sh # Teste rapide standard
npx playwright show-report # Vezi rezultatele
# 🔍 Debug Specific Issues
npx playwright test auth/login.spec.js --headed --debug
npx playwright test e2e/debugging-real-issues.spec.js --headed
# 🧹 Curățare după testare
./cleanup-tests.sh --deep # Curățare completă
🚨 Troubleshooting
❌ Permission Denied pe Scripturi
chmod +x *.sh # Permite execuția scripturilor
❌ Windows Line Endings
sed -i 's/\r$//' *.sh # Convertește line endings
❌ Serviciile Nu Rulează
# Verifică serviciile:
./run-comprehensive-tests.sh --no-basic --no-real-world # Doar verificare servicii
❌ Teste Failed - Debugging
./run-comprehensive-tests.sh # Vezi raport detaliat cu recomandări
npx playwright test --debug # Debug interactiv
npx playwright show-report # Ultimul raport Playwright
❌ JWT Token Issues (Known Issue)
# Problema curentă identificată:
# 401 Unauthorized pe /companies/ după login
# Vezi FINAL_COMPREHENSIVE_TEST_REPORT.md pentru soluție
❌ Curățare Space pe Disk
./cleanup-tests.sh --deep # Curăță tot + cache
📊 Interpretarea Rezultatelor
✅ Success Output:
✅ All tests completed successfully!
⚡ Average Response Time: 8ms
🎉 No critical issues found!
🚨 Issues Found Output:
❌ API Errors: 8
🚨 CRITICAL: JWT Token not sent to protected routes
💡 RECOMMENDATION: Fix token transmission in api.js
📋 Report: test-reports-TIMESTAMP/comprehensive-test-report.md
🎯 Ce Faci Dacă...
| Problemă | Soluție |
|---|---|
| 🚨 Authentication 401 errors | Vezi FINAL_COMPREHENSIVE_TEST_REPORT.md - problemă JWT token |
| ⚡ Teste durează mult | Folosește ./run-tests.sh pentru testare rapidă |
| 🔍 Vrei să debug o problemă | npx playwright test [test-name] --headed --debug |
| 📊 Vrei raport detaliat | ./run-comprehensive-tests.sh + vezi test-reports-*/ |
| 🧹 Disk plin cu fișiere test | ./cleanup-tests.sh --deep |
🎉 Next Steps
- 🚀 Start:
./run-comprehensive-tests.sh - 📊 Review:
cat test-reports-*/comprehensive-test-report.md - 🔧 Fix Issues: Follow recommendations in report
- 📚 Deep Dive:
TEST_RUNNER_GUIDE.mdpentru ghid complet
🎯 RESULT: Aplicație testată comprehensiv cu probleme reale identificate și soluții recomandate!