216 lines
6.7 KiB
Markdown
216 lines
6.7 KiB
Markdown
# Employee Workflow - End-to-End Test
|
|
|
|
Diese Anleitung führt dich durch den vollständigen Mitarbeiter-Workflow, vom Anlegen bis zur Ticket-Zuweisung.
|
|
|
|
## Voraussetzungen
|
|
|
|
1. ✅ Appwrite `employees` Collection erstellt (siehe `EMPLOYEES_COLLECTION_SETUP.md`)
|
|
2. ✅ Appwrite `workorders` Collection hat `assignedTo` Attribut
|
|
3. ✅ Collection IDs in `.env` und `src/lib/appwrite.js` eingetragen
|
|
4. ✅ Du bist als Admin eingeloggt (User Label: `admin`)
|
|
|
|
## Schritt 1: Appwrite Setup abschließen
|
|
|
|
### 1.1 employees Collection ID eintragen
|
|
|
|
1. Öffne Appwrite: `https://appwrite.webklar.com`
|
|
2. Gehe zu **Databases** → **woms-database** → **employees**
|
|
3. Kopiere die Collection ID (z.B. `694bd1fb002b2e583d14`)
|
|
4. Öffne `src/lib/appwrite.js`
|
|
5. Ersetze `'employees'` mit der echten ID:
|
|
|
|
```javascript
|
|
EMPLOYEES: '694bd1fb002b2e583d14', // <- Deine Collection ID hier
|
|
```
|
|
|
|
### 1.2 assignedTo Attribut zu workorders hinzufügen
|
|
|
|
1. Gehe zu **workorders** Collection (ID: `6943bf7d001901baa60c`)
|
|
2. Klicke auf **Attributes** → **Create Attribute**
|
|
3. Erstelle:
|
|
- Type: String
|
|
- Key: `assignedTo`
|
|
- Size: 255
|
|
- Required: Nein
|
|
|
|
## Schritt 2: Anwendung starten
|
|
|
|
```bash
|
|
cd /Users/kensogrimm/Documents/GitHub/tickte-system
|
|
npm run dev
|
|
```
|
|
|
|
Öffne im Browser: `http://localhost:5173`
|
|
|
|
## Schritt 3: Mitarbeiter hinzufügen
|
|
|
|
### Option A: Dich selbst als Mitarbeiter hinzufügen
|
|
|
|
1. Gehe zu **Admin Panel** (Navigation → Admin)
|
|
2. Scrolle zur Sektion **Mitarbeiter**
|
|
3. Klicke auf **"Mich selbst hinzufügen"**
|
|
4. ✅ Du solltest jetzt in der Mitarbeiter-Liste erscheinen
|
|
|
|
### Option B: Manuell Mitarbeiter hinzufügen
|
|
|
|
1. Gehe zu Appwrite: `https://appwrite.webklar.com`
|
|
2. Öffne **Auth** → **Users**
|
|
3. Wähle einen Benutzer aus und kopiere die **User ID** (z.B. `6765fb5b00295d6c0a2c`)
|
|
4. Gehe zurück zum **Admin Panel** in deiner App
|
|
5. Scrolle zu **"Neuen Mitarbeiter hinzufügen"**
|
|
6. Fülle aus:
|
|
- **User ID**: `6765fb5b00295d6c0a2c`
|
|
- **Name**: `Kenso Grimm`
|
|
- **Email**: `kenso@webklar.com`
|
|
- **Kürzel**: `KNSO`
|
|
7. Klicke auf **"Mitarbeiter hinzufügen"**
|
|
8. ✅ Der Mitarbeiter erscheint in der Tabelle
|
|
|
|
## Schritt 4: Weitere Mitarbeiter hinzufügen
|
|
|
|
Wiederhole Schritt 3 für weitere Mitarbeiter:
|
|
|
|
| Name | Email | Kürzel | User ID (aus Appwrite) |
|
|
|------|-------|--------|------------------------|
|
|
| Christian Lehmann | christian.lehmann@example.com | CHLE | `[User ID aus Appwrite]` |
|
|
| Dietmar Bruckauf | dietmar.bruckauf@example.com | DIBR | `[User ID aus Appwrite]` |
|
|
| Dominik Armata | dominik.armata@example.com | DOAR | `[User ID aus Appwrite]` |
|
|
| Gregor Vowinkel | gregor.vowinkel@example.com | GRVO | `[User ID aus Appwrite]` |
|
|
|
|
## Schritt 5: Kürzel zuordnen/bearbeiten
|
|
|
|
1. In der **Mitarbeiter-Tabelle** klicke auf **Edit** (Stift-Icon)
|
|
2. Ändere das **Kürzel** (z.B. von leer zu `KNSO`)
|
|
3. Klicke auf **Speichern**
|
|
4. ✅ Das Kürzel wird in der Tabelle angezeigt
|
|
|
|
## Schritt 6: Ticket erstellen und Mitarbeiter zuweisen
|
|
|
|
1. Gehe zu **Tickets** (Navigation → Tickets)
|
|
2. Klicke auf **"CREATE TICKET"**
|
|
3. Fülle das Formular aus:
|
|
- **Customer ID**: Wähle einen Kunden
|
|
- **Work Order Type**: z.B. `Supportrequest`
|
|
- **Affected System**: z.B. `Network`
|
|
- **Priority**: z.B. `Medium`
|
|
- **Assigned To**: Wähle einen Mitarbeiter (z.B. `Kenso Grimm (KNSO)`)
|
|
- **Topic**: z.B. `WLAN Problem beheben`
|
|
- **Requested by**: z.B. `Max Mustermann`
|
|
4. Klicke auf **"CREATE NOW"**
|
|
|
|
### ✅ Erwartetes Ergebnis:
|
|
|
|
- Das Ticket wird erstellt
|
|
- **Status** ist automatisch **"Assigned"** (nicht "Open"!)
|
|
- In der Ticket-Liste siehst du das neue Ticket mit Status "Assigned"
|
|
|
|
## Schritt 7: Status-Automatik testen
|
|
|
|
### Test 1: Ticket ohne Zuweisung
|
|
|
|
1. Erstelle ein neues Ticket
|
|
2. Lasse **Assigned To** auf **"Unassigned"**
|
|
3. Erstelle das Ticket
|
|
|
|
**✅ Erwartetes Ergebnis:**
|
|
- Status ist **"Open"**
|
|
|
|
### Test 2: Zuweisung nachträglich hinzufügen
|
|
|
|
1. Öffne ein Ticket mit Status "Open"
|
|
2. Weise einen Mitarbeiter zu (Edit-Funktion)
|
|
3. Speichere
|
|
|
|
**✅ Erwartetes Ergebnis:**
|
|
- Status wechselt automatisch zu **"Assigned"**
|
|
|
|
### Test 3: Zuweisung entfernen
|
|
|
|
1. Öffne ein Ticket mit Status "Assigned"
|
|
2. Entferne die Mitarbeiter-Zuweisung (setze auf "Unassigned")
|
|
3. Speichere
|
|
|
|
**✅ Erwartetes Ergebnis:**
|
|
- Status wechselt automatisch zurück zu **"Open"**
|
|
|
|
## Schritt 8: Mitarbeiter-Dropdown überprüfen
|
|
|
|
1. Öffne das **"CREATE TICKET"** Modal
|
|
2. Scrolle zum **"Assigned To"** Dropdown
|
|
3. Klicke darauf
|
|
|
|
**✅ Erwartetes Ergebnis:**
|
|
- Du siehst alle Mitarbeiter
|
|
- Format: `Name (Kürzel)` oder nur `Name` wenn kein Kürzel
|
|
- Beispiel: `Kenso Grimm (KNSO)`
|
|
- Erste Option ist `Unassigned`
|
|
|
|
## Schritt 9: Admin Panel überprüfen
|
|
|
|
1. Gehe zu **Admin Panel**
|
|
2. Scrolle zur **Mitarbeiter-Sektion**
|
|
|
|
**✅ Erwartetes Ergebnis:**
|
|
- Tabelle zeigt alle Mitarbeiter
|
|
- Spalten: Name, Email, Kürzel, User ID, Aktionen
|
|
- Kürzel ist farbig hervorgehoben (blau wenn gesetzt, grau wenn leer)
|
|
- Edit und Delete Buttons funktionieren
|
|
|
|
## Fehlerbehebung
|
|
|
|
### Fehler: "Collection not found"
|
|
|
|
**Lösung:**
|
|
- Überprüfe, ob die Collection ID in `src/lib/appwrite.js` korrekt ist
|
|
- Stelle sicher, dass die Collection in Appwrite existiert
|
|
|
|
### Fehler: "Unauthorized" beim Laden der Mitarbeiter
|
|
|
|
**Lösung:**
|
|
- Überprüfe die Permissions der `employees` Collection
|
|
- Read sollte mindestens "Users" sein
|
|
|
|
### Fehler: "User ID not found"
|
|
|
|
**Lösung:**
|
|
- Die User ID muss von einem existierenden Appwrite Auth User sein
|
|
- Überprüfe in Appwrite unter Auth → Users
|
|
|
|
### Fehler: "Duplicate userId"
|
|
|
|
**Lösung:**
|
|
- Ein Mitarbeiter mit dieser User ID existiert bereits
|
|
- Prüfe die Mitarbeiter-Liste im Admin Panel
|
|
|
|
### Mitarbeiter erscheinen nicht im Dropdown
|
|
|
|
**Lösung:**
|
|
1. Überprüfe, ob Mitarbeiter im Admin Panel angezeigt werden
|
|
2. Prüfe Browser Console auf Fehler
|
|
3. Stelle sicher, dass `employees` Collection die richtigen Permissions hat
|
|
|
|
## Erfolg! 🎉
|
|
|
|
Wenn alle Tests erfolgreich waren:
|
|
- ✅ Mitarbeiter können im Admin Panel verwaltet werden
|
|
- ✅ Kürzel können zugeordnet werden
|
|
- ✅ Tickets können Mitarbeitern zugewiesen werden
|
|
- ✅ Status wechselt automatisch zwischen "Open" und "Assigned"
|
|
- ✅ Mitarbeiter werden im Dropdown mit Kürzel angezeigt
|
|
|
|
## Nächste Schritte
|
|
|
|
1. **Weitere Mitarbeiter hinzufügen**: Füge alle Team-Mitglieder hinzu
|
|
2. **Kürzel-Konvention**: Lege ein einheitliches Format fest (z.B. erste 2 Buchstaben Vorname + 2 Buchstaben Nachname)
|
|
3. **Tickets zuweisen**: Weise bestehende Tickets Mitarbeitern zu
|
|
4. **Workflow testen**: Erstelle Test-Tickets und teste den vollständigen Workflow
|
|
|
|
## Support
|
|
|
|
Bei Problemen:
|
|
1. Überprüfe die Appwrite Console auf Fehler
|
|
2. Prüfe die Browser DevTools Console
|
|
3. Lies `EMPLOYEES_COLLECTION_SETUP.md` für Setup-Details
|
|
4. Überprüfe die Permissions in Appwrite
|
|
|