144 lines
3.9 KiB
Markdown
144 lines
3.9 KiB
Markdown
# LibreBooking n8n Node - Test Results
|
||
|
||
## Test Datum: 25.01.2026
|
||
|
||
### Test-Umgebung
|
||
- **URL**: https://librebooking.zell-cloud.de
|
||
- **Benutzer**: sebastian.zell@zell-aufmass.de
|
||
- **n8n Node Version**: 1.2.1
|
||
|
||
---
|
||
|
||
## Test-Ergebnisse
|
||
|
||
### 1. Authentifizierung ✅
|
||
- Login erfolgreich
|
||
- Session Token wird korrekt generiert
|
||
- User ID wird zurückgegeben
|
||
|
||
### 2. Reservierungen ✅
|
||
|
||
| Operation | Status | Details |
|
||
|-----------|--------|---------|
|
||
| Get All | ✅ | 12 Reservierungen gefunden |
|
||
| Get All (mit Datumsfilter) | ✅ | Filtert korrekt nach Zeitraum |
|
||
| Get (Einzeln) | ✅ | Custom Attributes werden zurückgegeben |
|
||
| Create | ✅ | allowParticipation wird korrekt gesetzt |
|
||
| Update | ✅ | Änderungen werden übernommen |
|
||
| Delete | ✅ | Reservierung wird gelöscht |
|
||
|
||
**Custom Attributes für Reservierungen (9 gefunden):**
|
||
- Mietername (ID: 1, Typ: Text, Pflicht: ✅)
|
||
- Telefon (ID: 2, Typ: Text, Pflicht: ❌)
|
||
- Adresse (ID: 3, Typ: Text, Pflicht: ✅)
|
||
- Lage der Wohnung – Gebäudeart (ID: 11, Typ: Auswahl)
|
||
- Geschoss (ID: 9, Typ: Auswahl)
|
||
- Lage der Wohnung – Lage im Grundriss (ID: 10, Typ: Auswahl)
|
||
- Quadratmeter (ID: 12, Typ: Text)
|
||
- Clustername (ID: 4, Typ: Text, Pflicht: ✅)
|
||
- Status (ID: 8, Typ: Auswahl, Pflicht: ✅)
|
||
|
||
### 3. Ressourcen ✅
|
||
|
||
| Operation | Status | Details |
|
||
|-----------|--------|---------|
|
||
| Get All | ✅ | 4 Ressourcen gefunden |
|
||
| Get (Einzeln) | ✅ | Details werden abgerufen |
|
||
|
||
**Ressourcen:**
|
||
- Aufmass Team 1 (ID: 1)
|
||
- Aufmass Team 2 (ID: 2)
|
||
- Aufmass Team 3 (ID: 3)
|
||
- Aufmass Team 4 (ID: 4)
|
||
|
||
### 4. Benutzer ✅
|
||
|
||
| Operation | Status | Details |
|
||
|-----------|--------|---------|
|
||
| Get All | ✅ | 3 Benutzer gefunden |
|
||
| Get (Einzeln) | ✅ | Details werden abgerufen |
|
||
|
||
### 5. Zeitpläne ✅
|
||
|
||
| Operation | Status | Details |
|
||
|-----------|--------|---------|
|
||
| Get All | ✅ | 1 Zeitplan gefunden |
|
||
|
||
### 6. Attribute (nach Kategorie) ✅
|
||
|
||
| Kategorie | Anzahl |
|
||
|-----------|--------|
|
||
| Reservierung (1) | 9 |
|
||
| Benutzer (2) | 0 |
|
||
| Ressource (4) | 0 |
|
||
| Ressourcen-Typ (5) | 0 |
|
||
|
||
### 7. Gruppen ✅
|
||
|
||
| Operation | Status | Details |
|
||
|-----------|--------|---------|
|
||
| Get All | ✅ | 2 Gruppen gefunden |
|
||
|
||
### 8. Zubehör ✅
|
||
|
||
| Operation | Status | Details |
|
||
|-----------|--------|---------|
|
||
| Get All | ✅ | 0 Zubehörteile (keine konfiguriert) |
|
||
|
||
### 9. Sign Out ✅
|
||
- Session wird korrekt beendet
|
||
|
||
---
|
||
|
||
## Trigger Node Tests
|
||
|
||
### "Alle Abrufen" (Get All) Mode ✅
|
||
- Ruft alle Reservierungen für den angegebenen Zeitraum ab
|
||
- Optionale Start-/Enddatum-Filter funktionieren
|
||
- "Detaillierte Daten Abrufen" Option lädt Custom Attributes
|
||
|
||
### "Neue Reservierungen" (Poll) Mode ✅
|
||
- Erster Poll: Speichert IDs, triggert nicht
|
||
- Folgende Polls: Erkennt neue Reservierungen
|
||
- Debug-Modus zeigt gespeicherte IDs an
|
||
|
||
### "Geänderte Reservierungen" (Poll) Mode ✅
|
||
- Erster Poll: Speichert Hashes, triggert nicht
|
||
- Folgende Polls: Erkennt Änderungen durch Hash-Vergleich
|
||
- Änderungen an Titel, Beschreibung, Zeitraum werden erkannt
|
||
|
||
---
|
||
|
||
## Behobene Probleme
|
||
|
||
### 1. allowParticipation Fehler ✅
|
||
**Problem**: API-Fehler "Undefined property: stdClass::$allowParticipation"
|
||
|
||
**Lösung**: `allowParticipation` wird jetzt immer im Request-Body gesendet (ist ein Pflichtfeld).
|
||
|
||
### 2. Trigger "Alle Abrufen" funktioniert nicht ✅
|
||
**Problem**: Mode war unklar, nutzte Polling-Logik
|
||
|
||
**Lösung**: Neuer "Alle Abrufen (Einmalig)" Mode mit optionalen Datum-Parametern.
|
||
|
||
### 3. Custom Attributes nicht elegant abrufbar ✅
|
||
**Problem**: Manuelles Eingeben von Attribut-IDs nötig
|
||
|
||
**Lösung**: "Custom Attributes Einschließen" Option bei GetAll-Operationen für:
|
||
- Reservierungen
|
||
- Ressourcen
|
||
- Benutzer
|
||
|
||
---
|
||
|
||
## Test-Zusammenfassung
|
||
|
||
| Kategorie | Tests | Bestanden | Fehlgeschlagen |
|
||
|-----------|-------|-----------|----------------|
|
||
| API-Endpunkte | 19 | 19 | 0 |
|
||
| Trigger Modes | 3 | 3 | 0 |
|
||
| Custom Attributes | 4 | 4 | 0 |
|
||
| **Gesamt** | **26** | **26** | **0** |
|
||
|
||
✅ **Alle Tests erfolgreich bestanden!**
|