# 🧪 Template Testing - Automatische Test-Funktionen

## 📋 Übersicht

Der DOCX Template Server bietet jetzt **automatische Template-Test-Funktionen**, die Templates analysieren und mit zufälligen Daten befüllen können.

## 🚀 Neue Funktionen

### 1. 📊 Template-Analyse
**Endpoint:** `GET /analyze-template/{templateName}`

Analysiert ein Template und zeigt alle gefundenen Tags an:

```bash
curl http://localhost:3000/analyze-template/simple-template.docx
```

**Response:**
- `totalTags`: Anzahl gefundener Tags
- `simpleTags`: Einfache Platzhalter (++name++, ++email++)
- `tableTags`: Tabellen-Tags (++items[0].product++)
- `tableNames`: Erkannte Array-Namen
- `exampleData`: Beispiel-Daten für alle Tags

### 2. 🎲 Automatisches Test-Dokument
**Endpoint:** `POST /test-template/{templateName}`

Erstellt automatisch ein Test-Dokument mit zufälligen Daten:

```bash
curl -X POST -H "Content-Type: application/json" \
     -d '{"rowCount": 5}' \
     http://localhost:3000/test-template/simple-template.docx
```

**Parameter:**
- `rowCount`: Anzahl der Tabellenzeilen (Standard: 3)

## 🏷️ Unterstützte Tag-Typen

### Einfache Tags
Der Server erkennt automatisch verschiedene Tag-Typen und generiert passende Daten:

| Tag-Muster | Beispiel-Daten |
|------------|----------------|
| `++name++` | Max Mustermann |
| `++vorname++` | Anna |
| `++firma++` | Tech Solutions GmbH |
| `++email++` | max@beispiel.de |
| `++datum++` | 15.10.2025 |
| `++preis++` | 1.234,56 € |
| `++telefon++` | +49 123 4567890 |
| `++stadt++` | Berlin |
| `++straße++` | Hauptstraße 42 |

### Tabellen-Tags
Unterstützt Array-Syntax für Tabellen:

```
++items[0].product++
++items[0].quantity++
++items[0].price++
```

Wird automatisch zu einem Array von Objekten:
```json
{
  "items": [
    {
      "product": "Premium Service",
      "quantity": 3,
      "price": "299.99 €"
    }
  ]
}
```

## 🎯 Intelligente Daten-Generierung

### Deutsche Stammdaten
- **Namen:** Max Mustermann, Anna Schmidt, Peter Weber...
- **Firmen:** Tech Solutions GmbH, Digital Services Ltd...
- **Städte:** Berlin, München, Hamburg, Köln...
- **Produkte:** Premium Service, Business Solution...

### Kontext-bewusste Generierung
- Tags mit "email" → E-Mail-Adressen
- Tags mit "preis" → Geldbeträge in Euro
- Tags mit "datum" → Deutsche Datumsformate
- Tags mit "telefon" → Deutsche Telefonnummern
- Tags mit "produkt" → Produktnamen

## 📄 Verwendungsbeispiele

### 1. Template analysieren
```bash
# Alle Tags in einem Template anzeigen
curl http://localhost:3000/analyze-template/mein-template.docx | jq '.'
```

### 2. Schneller Test
```bash
# Test-Dokument mit 3 Tabellenzeilen
curl -X POST http://localhost:3000/test-template/mein-template.docx
```

### 3. Umfangreicher Test
```bash
# Test-Dokument mit 10 Tabellenzeilen
curl -X POST -H "Content-Type: application/json" \
     -d '{"rowCount": 10}' \
     http://localhost:3000/test-template/mein-template.docx
```

### 4. Direkt in MS Word öffnen
Das generierte Test-Dokument kann direkt über die WebDAV-URL in MS Word geöffnet werden:
```
ms-word:ofe|u|http://localhost:3000/webdav/output/test_template_123.docx
```

## 🔧 Template-Entwicklungs-Workflow

1. **Template erstellen** in MS Word mit `++tag++` Platzhaltern
2. **Template analysieren** mit `/analyze-template/`
3. **Test-Dokument generieren** mit `/test-template/`
4. **Ergebnis prüfen** und Template ggf. anpassen
5. **Produktive Nutzung** mit `/generate-document`

## 📊 Beispiel-Response

```json
{
  "success": true,
  "templateName": "simple-template.docx",
  "foundTags": ["name", "email", "items[0].product"],
  "tableNames": ["items"],
  "generatedData": {
    "name": "Max Mustermann",
    "email": "max@beispiel.de",
    "items": [
      {
        "product": "Premium Service",
        "quantity": 2,
        "price": "299.99 €"
      }
    ]
  },
  "downloadUrl": "/download/test_simple-template_123.docx",
  "webdavUrl": "/webdav/output/test_simple-template_123.docx",
  "msWordUrl": "ms-word:ofe|u|http://localhost:3000/webdav/output/test_simple-template_123.docx",
  "message": "Test-Dokument erfolgreich erstellt mit 3 Tags und 1 Tabellen"
}
```

## 🎉 Vorteile

- ✅ **Schnelle Template-Validierung** ohne manuelle Daten-Eingabe
- ✅ **Automatische Tag-Erkennung** in DOCX-Dateien
- ✅ **Intelligente Daten-Generierung** basierend auf Tag-Namen
- ✅ **Tabellen-Unterstützung** mit konfigurierbarer Zeilenzahl
- ✅ **Deutsche Lokalisierung** für realistische Test-Daten
- ✅ **Sofortige Ergebnisse** mit Download- und WebDAV-Links
- ✅ **MS Word Integration** für direktes Öffnen

---

**🚀 Jetzt können Sie Templates erstellen und sofort mit realistischen Daten testen!**