5.0 KiB
5.0 KiB
LeoCRM — Test Bug-Sammlung
Erstellt: 2026-08-21 Regel: Alle Fehler werden hier gesammelt. KEINE Fixes während des Testens. Fixes werden erst nach Abschluss aller Tests gesammelt durchgeführt.
Bug-Format
Jeder Bug wird wie folgt dokumentiert:
### BUG-XXX: <Kurze Beschreibung>
- **Kategorie:** API | Frontend | DB | Rechte | Security | Plugin | Performance
- **Modul:** <Modul-Name>
- **Endpoint:** <HTTP Method + Path>
- **Erwartet:** <Was sollte passieren>
- **Tatsächlich:** <Was passiert ist>
- **Status Code:** <HTTP Status Code>
- **Response:** <Fehlermeldung / Response Body>
- **Schweregrad:** Critical | High | Medium | Low
- **Getestet von:** Admin | Sales | Reader
- **Trace-ID:** <trace_id falls verfügbar>
Gefundene Bugs
BUG-001: Tag Delete 500 — current_user["id"] KeyError
- Kategorie: API
- Modul: Tags
- Endpoint: DELETE /api/v1/tags/{tag_id}
- Erwartet: 204 No Content
- Tatsächlich: 500 Internal Server Error
- Status Code: 500
- Response:
{"code":"internal_error","detail":"Internal server error","trace_id":"7d902485"} - Schweregrad: High
- Getestet von: Admin
- Trace-ID: 7d902485
- Ursache:
current_user["id"]intags/routes.py:282— Key heißtuser_idnichtid - Status: ✅ Bereits gefixt (Commit
c02fc75)
BUG-002: AI Agents list 500 — apply_visibility_filter ImportError
- Kategorie: API
- Modul: AI Assistant
- Endpoint: GET /api/v1/ai/agents
- Erwartet: 200 mit Agent-Liste
- Tatsächlich: 500 Internal Server Error
- Status Code: 500
- Response:
{"code":"internal_error","detail":"Internal server error"} - Schweregrad: High
- Getestet von: Admin
- Ursache:
apply_visibility_filternicht importiert inai_assistant/routes.py - Status: ✅ Bereits gefixt (Commit
d3618d8)
BUG-003: create_provider/model/preset/agent 500 — flush vor refresh
- Kategorie: API
- Modul: AI Assistant
- Endpoint: POST /api/v1/ai/providers, /models, /presets, /agents, /folders
- Erwartet: 201 Created
- Tatsächlich: 500 Internal Server Error
- Status Code: 500
- Schweregrad: High
- Getestet von: Admin
- Ursache:
db.commit()vordb.refresh()— mussdb.flush()vordb.refresh()sein - Status: ✅ Bereits gefixt (Commit
37f6868)
BUG-004: OwnedMixin Import fehlt in unified_search/models.py
- Kategorie: Code-Logik
- Modul: Unified Search
- Erwartet: Import funktioniert
- Tatsächlich:
NameError: name 'OwnedMixin' is not defined - Schweregrad: Medium
- Ursache:
OwnedMixinverwendet aber nicht importiert - Status: ✅ Bereits gefixt (Commit
f0bf53f)
BUG-005: Test-Dateien importieren entfernte AI Models
- Kategorie: Tests
- Modul: test_ai_proactive, test_ai_copilot, conftest, test_permission_system_live
- Erwartet: Tests laufen ohne ImportError
- Tatsächlich: ImportError für AIChatSession, AIChatMessage, AIConversation, AIMessage
- Schweregrad: Low
- Ursache: Models wurden in Phase 2 entfernt, Test-Dateien nicht aktualisiert
- Status: ✅ Bereits gefixt (Commit
f0bf53f)
Neue Bugs (während Test-Ausführung gefunden)
BUG-006: wiki/plugin.py hat verbotene Cross-Plugin Imports
- Kategorie: Architektur
- Modul: Wiki
- Datei:
app/plugins/builtins/wiki/plugin.pyZeile 28-29 - Erwartet: Plugins kommunizieren über Contracts, nicht über direkte Imports
- Tatsächlich: Direkte Imports aus
unified_searchPlugin - Code:
from app.plugins.builtins.unified_search.provider_registry import get_search_registry from app.plugins.builtins.unified_search.providers.wiki_provider import WikiSearchProvider - Schweregrad: Medium
- Ursache: Wiki Plugin importiert direkt aus Unified Search Plugin statt über
get_contract("unified_search") - Lösung: Contract-basierten Zugriff verwenden
- Status: ⏳ Nicht gefixt — wird gesammelt nach Test-Abschluss gefixt
BUG-008: POST /contacts mit leerem Body erstellt Contact statt 422
- Kategorie: API / Validierung
- Modul: Contacts
- Endpoint: POST /api/v1/contacts
- Erwartet: 422 Unprocessable Entity (fehlende Pflichtfelder)
- Tatsächlich: 201 Created — Contact mit leerem displayname wird erstellt
- Status Code: 201
- Response:
{"id":"...","type":"company","displayname":"","status":"lead",...} - Schweregrad: Medium
- Ursache: ContactCreate Schema hat keine required fields (type, displayname etc. sind optional)
- Status: ⏳ Nicht gefixt
BUG-010: GET /attachments mit nicht existierender entity_id gibt 500 statt 404
- Kategorie: API / Error Handling
- Modul: Attachments
- Endpoint: GET /api/v1/attachments?entity_type=contact&entity_id=00000000-0000-0000-0000-000000000000
- Erwartet: 404 Not Found (Entity existiert nicht)
- Tatsächlich: 500 Internal Server Error
- Status Code: 500
- Schweregrad: Medium
- Ursache: Route gibt 500 statt 404 wenn Entity nicht gefunden wird
- Status: ⏳ Nicht gefixt