Files
werkbaum/backend/src/test/resources/features/dokumente.feature
T
mhoennig 0446e3d81e initial backend: Dokumente, Historie, API und Persistenz (D76)
- Liquibase-Schema (`document`, `document_history`) + Rollback-scripts
- Spring Boot with JPA-repositories, entities and services
- REST-API (`/documents`, `/documents/{id}`, `/documents/{id}/history`)
- OpenAPI-specifikation for CRUD-Operationen and history
- config files (`application.yaml`, `Liquibase`, H2 im PostgreSQL-Modus)
- preps for future live-editing/delta-updates
- Exceptions for conflikt- and not-found cases (409/404)
- keeping document hostory even after `delete` for RESTORE functionality
2026-08-26 12:56:27 +02:00

70 lines
2.8 KiB
Gherkin

# language: de
Funktionalität: Dokumente verwalten
Als Nutzer der API
möchte ich Dokumente anlegen, abrufen, ändern und löschen können,
damit das Backend die Grundlage für den Editor bildet.
Szenario: Ein neues Dokument anlegen
Wenn ich ein Dokument mit dem Titel "Notizen" und dem Inhalt "Hallo Welt" anlege
Dann erhalte ich den Status 201
Und die Antwort enthält den Titel "Notizen"
Und die Antwort enthält die Version 1
Szenario: Alle Dokumente auflisten
Angenommen es existiert ein Dokument mit dem Titel "Erstes"
Und es existiert ein Dokument mit dem Titel "Zweites"
Wenn ich alle Dokumente abrufe
Dann erhalte ich den Status 200
Und die Antwort enthält 2 Dokumente
Szenario: Ein einzelnes Dokument abrufen
Angenommen es existiert ein Dokument mit dem Titel "Protokoll"
Wenn ich dieses Dokument abrufe
Dann erhalte ich den Status 200
Und die Antwort enthält den Titel "Protokoll"
Szenario: Ein Dokument aktualisieren erhöht die Version
Angenommen es existiert ein Dokument mit dem Titel "Entwurf"
Wenn ich den Titel dieses Dokuments auf "Final" ändere
Dann erhalte ich den Status 200
Und die Antwort enthält den Titel "Final"
Und die Antwort enthält die Version 2
Szenario: Ein Dokument löschen
Angenommen es existiert ein Dokument mit dem Titel "Veraltet"
Wenn ich dieses Dokument lösche
Dann erhalte ich den Status 204
Und das Dokument ist nicht mehr abrufbar
Szenario: Ein unbekanntes Dokument abrufen
Wenn ich ein Dokument mit einer unbekannten ID abrufe
Dann erhalte ich den Status 404
Szenario: Die Historie protokolliert alle Änderungen
Angenommen es existiert ein Dokument mit dem Titel "Bericht"
Wenn ich den Titel dieses Dokuments auf "Bericht v2" ändere
Und ich die Historie dieses Dokuments abrufe
Dann erhalte ich den Status 200
Und die Antwort enthält 2 Historieneinträge
Und die Antwort enthält den Änderungstyp "CREATED"
Und die Antwort enthält den Änderungstyp "UPDATED"
Szenario: Die Historie überlebt das Löschen eines Dokuments
Angenommen es existiert ein Dokument mit dem Titel "Wichtig"
Wenn ich dieses Dokument lösche
Und ich die Historie dieses Dokuments abrufe
Dann erhalte ich den Status 200
Und die Antwort enthält den Änderungstyp "DELETED"
Szenario: Ein gelöschtes Dokument wiederherstellen
Angenommen es existiert ein Dokument mit dem Titel "Vertrag"
Wenn ich dieses Dokument lösche
Und ich dieses Dokument wiederherstelle
Dann erhalte ich den Status 200
Und die Antwort enthält den Titel "Vertrag"
Und das Dokument ist wieder abrufbar
Szenario: Wiederherstellen ohne Historie schlägt fehl
Wenn ich ein Dokument mit einer unbekannten ID abrufe
Dann erhalte ich den Status 404