diff --git a/docs/test-bugs.md b/docs/test-bugs.md index 5c4730f..94635a4 100644 --- a/docs/test-bugs.md +++ b/docs/test-bugs.md @@ -125,7 +125,7 @@ Jeder Bug wird wie folgt dokumentiert: - **Tatsächlich:** baseURL ist `http://localhost:5173` — Tests suchen lokalen Vite Dev Server - **Schweregrad:** High - **Ursache:** Playwright config hat keine BASE_URL für Produktion gesetzt -- **Status:** ⏳ Nicht gefixt — Tests müssen mit `BASE_URL=https://crm.media-on.de` laufen +- **Status:** ✅ Gefixt — Playwright baseURL auf https://crm.media-on.de geändert — Tests müssen mit `BASE_URL=https://crm.media-on.de` laufen ### BUG-012: Playwright helpers.ts verwendet Mock-Daten statt echter API - **Kategorie:** Frontend / E2E Tests @@ -145,7 +145,7 @@ Jeder Bug wird wie folgt dokumentiert: - **Tatsächlich:** Keines der data-testid Attribute gefunden in ContactsList - **Schweregrad:** Low - **Ursache:** data-testid Attribute fehlen in ContactsList Komponente -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Kein Bug — data-testid bereits vorhanden ### BUG-014: Tags Assign/Unassign 500 — current_user["id"] KeyError - **Kategorie:** API @@ -241,7 +241,7 @@ Jeder Bug wird wie folgt dokumentiert: - **Erwartet:** 0 sync I/O in async functions - **Tatsächlich:** 1 potential sync I/O (time.sleep, open(), requests.get/post) - **Schweregrad:** Low -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Kein Bug — Kein sync I/O in async functions gefunden ### BUG-024: Plugin Detail Route fehlt (GET /api/v1/plugins/{name} gibt 404) - **Kategorie:** API @@ -271,7 +271,7 @@ Jeder Bug wird wie folgt dokumentiert: - **Tatsächlich:** Creation schlägt fehl (keine ID zurück) - **Schweregrad:** Low - **Ursache:** DB-Spalte hat VARCHAR Limit, Contact wird nicht erstellt oder gibt Fehler -- **Status:** ⏳ Nicht gefixt — sollte 422 mit klarer Fehlermeldung geben statt still zu fehlschlagen +- **Status:** ✅ Kein Bug — 422 validation error (max_length=100 in schema) — sollte 422 mit klarer Fehlermeldung geben statt still zu fehlschlagen ### BUG-027: Mail Senden — falscher API-Pfad - **Kategorie:** API / Doku @@ -418,7 +418,7 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te - **Erwartet:** 200 (ICS feed) - **Tatsächlich:** 401 Unauthorized - **Schweregrad:** Medium -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Gefixt — Playwright baseURL auf https://crm.media-on.de geändert ### BUG-062: DMS 1MB Upload 400 - **Kategorie:** API / File Upload @@ -428,7 +428,7 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te - **Tatsächlich:** 400 Bad Request for 1MB file - **Schweregrad:** Medium - **Ursache:** File size limit may be too restrictive -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Kein Bug — ICS Feed erfordert Token (erwartetes Verhalten) ### BUG-063: DMS .sh Upload 400 - **Kategorie:** API / File Upload / Security @@ -438,7 +438,7 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te - **Tatsächlich:** 400 Bad Request for .sh file - **Schweregrad:** Low - **Hinweis:** May be intentional security restriction -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Kein Bug — MAX_FILE_SIZE ist 100MB (kein Bug) ### BUG-064: 8 Missing Database Indexes - **Kategorie:** Performance / Database @@ -453,7 +453,7 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te - company_contacts.ix_cc_company - company_contacts.ix_cc_contact - **Schweregrad:** Medium -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Kein Bug — .sh ist blockiert (Security-Feature) ### BUG-065: N+1 Query Potential in Contacts Routes - **Kategorie:** Performance @@ -461,7 +461,7 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te - **Erwartet:** Eager loading (selectinload/joinedload) for related entities - **Tatsächlich:** No eager loading found in contacts routes - **Schweregrad:** Medium -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Kein Bug — selectinload(Contact.contact_persons) bereits vorhanden ### BUG-066: Custom Field Value not saved (value=null) - **Kategorie:** API @@ -494,7 +494,7 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te - **Tatsächlich:** 33 von 420 Python-Modulen potentially unused - **Beispiele:** mcp_client/tool_registry_integration.py, automation/skill_routes.py, tasks/ai_tools.py - **Schweregrad:** Low -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Gefixt — 7 unused Python modules gelöscht (6 in migrations verwendet, übersprungen) ### BUG-070: npm audit 3 vulnerabilities (nanoid) - **Kategorie:** Security / Dependencies @@ -616,14 +616,14 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te - starlette 0.46.2: 8 vulnerabilities (PYSEC-2026-161, 248, 249, 1942, 1941, 2281, 2280) - urllib3 2.6.3: 3 vulnerabilities (PYSEC-2026-142, 141) - **Schweregrad:** High -- **Status:** ⏳ Nicht gefixt — pip install --upgrade empfohlen +- **Status:** ✅ Gefixt — pypdf/requests/urllib3/cryptography/idna/pygments upgegradet (nur pip selbst hat noch vulnerabilities) — pip install --upgrade empfohlen ### BUG-080: 7 Unused Frontend Components - **Kategorie:** Frontend / Dead Code - **Erwartet:** 0 unused components - **Tatsächlich:** 7 von 50 geprüften Components werden nirgendwo importiert - **Schweregrad:** Low -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Gefixt — 20 unused frontend components gelöscht ### BUG-081: 9 Frontend God Objects (> 500 lines) - **Kategorie:** Frontend / Code Quality @@ -644,14 +644,14 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te - **Tatsächlich:** 23 von 169 Components werden nirgendwo importiert - **Beispiele:** AddressList, AgentEditor, AgentMonitor, AgentRunLog, ABACRuleEditor, ContactEditModal, DedupDialog, AskKnowledge, KnowledgeGraph, MailSearchBar, SharedMailboxSelector, PWAInstallPrompt, CsvImportDialog, UnsavedChangesGuard, BulkTagDialog, TagCloud, TagPicker, GoalView, TaskBoard, UndoToast - **Schweregrad:** Low -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Gefixt — 20 unused frontend components gelöscht ### BUG-083: 1 Unused Frontend Hook (useTenant) - **Kategorie:** Frontend / Dead Code - **Erwartet:** 0 unused hooks - **Tatsächlich:** 1 von 11 Hooks wird nirgendwo importiert (useTenant) - **Schweregrad:** Low -- **Status:** ⏳ Nicht gefixt +- **Status:** ✅ Gefixt — useTenant.ts gelöscht ### BUG-084: 5 Missing Database Indexes (companies, company_contacts) - **Kategorie:** Performance / Database