Files
espocrm/custom/scripts/E2E_TEST_RESULTS.md
2026-01-25 12:57:12 +01:00

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-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 → Usersdev-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 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