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
202 lines
6.8 KiB
Markdown
202 lines
6.8 KiB
Markdown
# 🚀 ROA2WEB Testing - Quick Start
|
|
|
|
Ghid rapid pentru rularea testelor Playwright cu detectarea problemelor reale.
|
|
|
|
## ⚡ Start Rapid
|
|
|
|
```bash
|
|
# 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Ă)**
|
|
```bash
|
|
./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**
|
|
```bash
|
|
./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**
|
|
```bash
|
|
./cleanup-tests.sh # Curăță toate fișierele temporare
|
|
./cleanup-tests.sh --deep # Curățare avansată + cache
|
|
```
|
|
|
|
### 🔍 **Debug & Development**
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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**
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 🚀 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**
|
|
```bash
|
|
chmod +x *.sh # Permite execuția scripturilor
|
|
```
|
|
|
|
### ❌ **Windows Line Endings**
|
|
```bash
|
|
sed -i 's/\r$//' *.sh # Convertește line endings
|
|
```
|
|
|
|
### ❌ **Serviciile Nu Rulează**
|
|
```bash
|
|
# Verifică serviciile:
|
|
./run-comprehensive-tests.sh --no-basic --no-real-world # Doar verificare servicii
|
|
```
|
|
|
|
### ❌ **Teste Failed - Debugging**
|
|
```bash
|
|
./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)**
|
|
```bash
|
|
# Problema curentă identificată:
|
|
# 401 Unauthorized pe /companies/ după login
|
|
# Vezi FINAL_COMPREHENSIVE_TEST_REPORT.md pentru soluție
|
|
```
|
|
|
|
### ❌ **Curățare Space pe Disk**
|
|
```bash
|
|
./cleanup-tests.sh --deep # Curăță tot + cache
|
|
```
|
|
|
|
## 📊 **Interpretarea Rezultatelor**
|
|
|
|
### ✅ **Success Output:**
|
|
```bash
|
|
✅ All tests completed successfully!
|
|
⚡ Average Response Time: 8ms
|
|
🎉 No critical issues found!
|
|
```
|
|
|
|
### 🚨 **Issues Found Output:**
|
|
```bash
|
|
❌ 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**
|
|
|
|
1. **🚀 Start:** `./run-comprehensive-tests.sh`
|
|
2. **📊 Review:** `cat test-reports-*/comprehensive-test-report.md`
|
|
3. **🔧 Fix Issues:** Follow recommendations in report
|
|
4. **📚 Deep Dive:** `TEST_RUNNER_GUIDE.md` pentru ghid complet
|
|
|
|
**🎯 RESULT:** Aplicație testată comprehensiv cu probleme reale identificate și soluții recomandate! |