140 lines
4.0 KiB
Markdown
140 lines
4.0 KiB
Markdown
# End-to-End Test Ergebnisse
|
|
|
|
## Test-Übersicht
|
|
|
|
Das E2E-Test-Framework wurde erfolgreich implementiert und getestet!
|
|
|
|
## ✅ Erfolgreich getestete Entities
|
|
|
|
### CMietobjekt
|
|
- ✓ Create: Mietobjekt mit Adresse erstellen
|
|
- ✓ Read: Datensatz abrufen
|
|
- ✓ Update: Lage-Feld aktualisieren
|
|
- ✓ Delete: Datensatz löschen
|
|
|
|
### CVmhMietverhältnis
|
|
- ✓ Create: Mietverhältnis mit allen Pflichtfeldern
|
|
- ✓ Read: Datensatz validieren
|
|
- ✓ Update: Miete aktualisieren
|
|
- ✓ Delete: Datensatz löschen
|
|
- ✓ Relationship: Verknüpfung mit CMietobjekt über `vmhMietobjektId`
|
|
|
|
### CBeteiligte
|
|
- ✓ Create: Person mit Namen und Adresse
|
|
- ✓ Read: Personendaten abrufen
|
|
- ✓ Update: Telefonnummer ändern
|
|
- ✓ Delete: Person löschen
|
|
|
|
### CVmhRäumungsklage
|
|
- ✓ Create: Räumungsklage erstellen
|
|
- ✓ Read: Datensatz validieren
|
|
- ✓ Update: Gegenstandswert ändern
|
|
- ✓ Delete: Datensatz löschen
|
|
|
|
## 🔒 Entities mit Permissions-Beschränkung
|
|
|
|
### CKündigung
|
|
- User `dev-test` hat keine Berechtigung (403 Forbidden)
|
|
- Betrifft: READ, CREATE, UPDATE, DELETE
|
|
|
|
### CMietinkasso
|
|
- User `dev-test` hat keine Berechtigung (403 Forbidden)
|
|
- Betrifft: READ, CREATE, UPDATE, DELETE
|
|
|
|
### Ursache
|
|
Diese Entities sind durch ACL (Access Control Lists) gesperrt. Mögliche Gründe:
|
|
1. **Role-Einstellungen**: Der User ist einer Role zugeordnet, die diese Entities nicht erlaubt
|
|
2. **Team-Beschränkungen**: Entities sind team-spezifisch eingeschränkt
|
|
3. **Custom ACL-Implementierung**: Möglicherweise gibt es Custom ACL-Klassen
|
|
|
|
### Behebung
|
|
In der EspoCRM Admin-Oberfläche:
|
|
1. **Administration → Roles** → User's Role auswählen
|
|
2. Bei `CKündigung` und `CMietinkasso` auf "Enabled" setzen
|
|
3. Permissions auf "All" oder mindestens "Create: Yes, Read: All, Edit: All, Delete: All" setzen
|
|
|
|
Alternativ:
|
|
- **Administration → Users** → `dev-test` → Role/Teams prüfen
|
|
- Sicherstellen, dass der User Admin-Rechte hat oder eine Role mit Full Access
|
|
|
|
## 📊 Test-Statistik (letzter Lauf)
|
|
|
|
```
|
|
✅ CBeteiligte: 3/3 tests passed (100%)
|
|
🔒 CKndigung: 0/1 tests (Permission denied)
|
|
🔒 CMietinkasso: 0/1 tests (Permission denied)
|
|
✅ CMietobjekt: 3/3 tests passed (100%)
|
|
✅ CVmhMietverhltnis: 3/3 tests passed (100%)
|
|
✅ CVmhRumungsklage: 3/3 tests passed (100%)
|
|
|
|
Total: 12/14 tests executable
|
|
2 tests blocked by permissions
|
|
Time: ~0.2s
|
|
```
|
|
|
|
## 🎯 Framework-Features
|
|
|
|
### Implementiert
|
|
- ✅ CRUD-Tests für alle wichtigen Entities
|
|
- ✅ Relationship-Tests (belongsTo)
|
|
- ✅ Automatisches Cleanup (keine Test-Daten bleiben zurück)
|
|
- ✅ Permission-aware (erkennt 403-Fehler)
|
|
- ✅ Detailliertes Reporting
|
|
- ✅ Fehlerbehandlung mit Context
|
|
- ✅ Zeiterfassung pro Test
|
|
|
|
### Bereit für Erweiterung
|
|
- 📝 Weitere Entities hinzufügen (siehe [E2E_TESTS_README.md](E2E_TESTS_README.md))
|
|
- 🔗 Mehr Relationship-Tests (hasMany, manyToMany)
|
|
- ✅ Validierungs-Tests für berechnete Felder
|
|
- 📧 Workflow-Tests (wenn freigeschaltet)
|
|
|
|
## 🚀 Verwendung
|
|
|
|
### Standard-Test
|
|
```bash
|
|
./run_e2e_tests.sh
|
|
```
|
|
|
|
### Mit Python direkt
|
|
```bash
|
|
python3 e2e_tests.py
|
|
```
|
|
|
|
### Einzelne Entity testen
|
|
```python
|
|
from e2e_tests import CMietobjektTest
|
|
from espocrm_api_client import EspoCRMAPIClient
|
|
from e2e_tests import TestTracker
|
|
|
|
client = EspoCRMAPIClient(...)
|
|
tracker = TestTracker()
|
|
test = CMietobjektTest(client, tracker)
|
|
test.run_full_test()
|
|
```
|
|
|
|
## 📁 Dateien
|
|
|
|
- `espocrm_api_client.py` - REST API Client
|
|
- `e2e_tests.py` - Test-Framework mit allen Entity-Tests
|
|
- `run_e2e_tests.sh` - Shell-Wrapper
|
|
- `E2E_TESTS_README.md` - Vollständige Dokumentation
|
|
|
|
## ✨ Nächste Schritte
|
|
|
|
1. **Permissions klären** für CKündigung und CMietinkasso
|
|
2. **Weitere Entities** hinzufügen:
|
|
- CAdressen
|
|
- CBankverbindungen
|
|
- CDokumente
|
|
- CVmhErstgespraech
|
|
3. **hasMany Relationships** testen (benötigt API-Research)
|
|
4. **CI/CD Integration** (GitHub Actions, GitLab CI)
|
|
5. **Performance-Tests** mit größeren Datenmengen
|
|
|
|
---
|
|
|
|
**Status**: ✅ Framework vollständig funktionsfähig
|
|
**Test Coverage**: 4/6 Custom Entities (66.7%)
|
|
**Success Rate**: 100% für zugängliche Entities
|