4.0 KiB
4.0 KiB
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-testhat keine Berechtigung (403 Forbidden) - Betrifft: READ, CREATE, UPDATE, DELETE
CMietinkasso
- User
dev-testhat keine Berechtigung (403 Forbidden) - Betrifft: READ, CREATE, UPDATE, DELETE
Ursache
Diese Entities sind durch ACL (Access Control Lists) gesperrt. Mögliche Gründe:
- Role-Einstellungen: Der User ist einer Role zugeordnet, die diese Entities nicht erlaubt
- Team-Beschränkungen: Entities sind team-spezifisch eingeschränkt
- Custom ACL-Implementierung: Möglicherweise gibt es Custom ACL-Klassen
Behebung
In der EspoCRM Admin-Oberfläche:
- Administration → Roles → User's Role auswählen
- Bei
CKündigungundCMietinkassoauf "Enabled" setzen - 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)
- 🔗 Mehr Relationship-Tests (hasMany, manyToMany)
- ✅ Validierungs-Tests für berechnete Felder
- 📧 Workflow-Tests (wenn freigeschaltet)
🚀 Verwendung
Standard-Test
./run_e2e_tests.sh
Mit Python direkt
python3 e2e_tests.py
Einzelne Entity testen
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 Cliente2e_tests.py- Test-Framework mit allen Entity-Testsrun_e2e_tests.sh- Shell-WrapperE2E_TESTS_README.md- Vollständige Dokumentation
✨ Nächste Schritte
- Permissions klären für CKündigung und CMietinkasso
- Weitere Entities hinzufügen:
- CAdressen
- CBankverbindungen
- CDokumente
- CVmhErstgespraech
- hasMany Relationships testen (benötigt API-Research)
- CI/CD Integration (GitHub Actions, GitLab CI)
- 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