116 lines
4.5 KiB
Markdown
116 lines
4.5 KiB
Markdown
# 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"]` in `tags/routes.py:282` — Key heißt `user_id` nicht `id`
|
|
- **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_filter` nicht importiert in `ai_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()` vor `db.refresh()` — muss `db.flush()` vor `db.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:** `OwnedMixin` verwendet 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.py` Zeile 28-29
|
|
- **Erwartet:** Plugins kommunizieren über Contracts, nicht über direkte Imports
|
|
- **Tatsächlich:** Direkte Imports aus `unified_search` Plugin
|
|
- **Code:**
|
|
```python
|
|
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-007: Schema Drift Check kann nicht lokal laufen
|
|
- **Kategorie:** Infrastructure
|
|
- **Modul:** scripts/schema_drift_check.py
|
|
- **Erwartet:** Skript läuft lokal mit Test-DB
|
|
- **Tatsächlich:** `ModuleNotFoundError: No module named 'app'` ohne PYTHONPATH, dann `database "crm_db" does not exist` (lokale DB heißt `leocrm_test`)
|
|
- **Schweregrad:** Low
|
|
- **Ursache:** Skript erwartet `crm_db` Datenbank, lokal heißt sie `leocrm_test`
|
|
- **Status:** ⏳ Nicht gefixt — Skript muss für lokale Test-DB angepasst werden
|