# Testing & Qualitätssicherung

Dieses Projekt nutzt automatisierte Integrationstests, um die Stabilität der Microservices sicherzustellen. Alle Tests sind so konzipiert, dass sie **innerhalb** der Docker-Container laufen und externe Abhängigkeiten (KI-APIs) mocken.

## 🚀 Alle Tests ausführen

Führen Sie die folgenden Befehle auf dem Host-System aus, um die jeweilige Test-Suite zu starten:

### 1. Company Explorer (Intelligence Core)
```bash
docker exec company-explorer /app/run_tests.sh
```

### 2. SuperOffice Connector (CRM Sync)
```bash
docker exec connector-superoffice /app/run_tests.sh
```

### 3. Lead Engine (Trading Twins)
```bash
docker exec lead-engine /app/run_tests.sh
```

### 4. B2B Marketing Assistant (Analysis)
```bash
docker exec b2b-marketing-assistant /app/run_tests.sh
```

---

## 🛠️ Test-Architektur

*   **Framework:** `pytest`
*   **API-Testing:** `httpx` & `FastAPI TestClient`
*   **Datenbank:** SQLite In-Memory (oder temporäre Datei-DB)
*   **Mocking:** `unittest.mock` wird verwendet, um Aufrufe an Gemini/OpenAI zu simulieren.

## 📝 Neue Tests hinzufügen

Um neue Tests für einen Dienst zu erstellen:
1.  Erstellen Sie eine Datei in `service-name/tests/test_*.py`.
2.  Stellen Sie sicher, dass das `run_tests.sh` Skript im Dienst-Ordner diese Datei inkludiert.
3.  Kopieren Sie die Datei ggf. in den Container (`docker cp`).
