feat(seed): mitgelieferte Vorlagen am Schluessel erkennen (#42)
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s

This commit was merged in pull request #42.
This commit is contained in:
2026-10-04 14:49:00 +00:00
parent 88d7db8c3d
commit 0fa41b9e08
20 changed files with 316 additions and 36 deletions
@@ -1,11 +1,11 @@
# #021 Stabiler Schlüssel für Seed-Vorlagen
**Status:** offen
**Status:** erledigt
**Im Tracker:** [#32](https://git.wilde-server.de/florian.wilde/Laufzettel/issues/32) — die Zählung dort schließt Pull Requests ein und läuft deshalb auseinander
**Meilenstein:** v0.2.0
**Labels:** phase-2, backend
**Geschätzt:** 2 h **Tatsächlich:** –
**Geschätzt:** 2 h **Tatsächlich:** 55 min
## Ziel
@@ -15,17 +15,19 @@ Geräteseite doppelt. Aufgefallen im Review zu [#017](017-seed-sieben-vorlagen.m
## Aufgaben
- [ ] Ein optionales Feld `schluessel` im [Austauschformat](../vorlagen-format.md) — gedacht für
- [x] Ein optionales Feld `seedSchluessel` im [Austauschformat](../vorlagen-format.md) — **nicht**
`schluessel` wie hier geplant: so heißt im Format schon das Feld einer Variablen, und zwei
Dinge gleichen Namens in derselben Datei wären eine Lesefalle — gedacht für
mitgelieferte Vorlagen, nicht für die Oberfläche; beim Import **nicht** übernommen, damit eine
eingespielte Kopie nicht den Platz des Originals einnimmt
- [ ] `Vorlage.seedSchluessel` mit partiellem eindeutigen Index (nur wo gesetzt)
- [ ] Der Seed sucht über den Schlüssel und fällt auf den Namen zurück, solange noch keiner gesetzt
- [x] `Vorlage.seedSchluessel` mit partiellem eindeutigen Index (nur wo gesetzt)
- [x] Der Seed sucht über den Schlüssel und fällt auf den Namen zurück, solange noch keiner gesetzt
ist — eine bestehende Installation darf beim ersten Lauf danach keine Dubletten bekommen
- [ ] Dokumentieren, was der Schlüssel **nicht** tut: er macht eine Vorlage nicht unveränderlich und
- [x] Dokumentieren, was der Schlüssel **nicht** tut: er macht eine Vorlage nicht unveränderlich und
erlaubt dem Seed nicht, eine bearbeitete Vorlage zu überschreiben
## Akzeptanzkriterien
- [ ] Test: umbenannte Seed-Vorlage, zweiter Seed-Lauf legt keine zweite an
- [ ] Test: zweiter Lauf erzeugt keine zweite `GeraetetypVorlage`-Zeile
- [ ] Test: eine über den Import eingespielte Kopie bekommt **keinen** Schlüssel
- [x] Test: umbenannte Seed-Vorlage, zweiter Seed-Lauf legt keine zweite an
- [x] Test: zweiter Lauf erzeugt keine zweite `GeraetetypVorlage`-Zeile
- [x] Test: eine über den Import eingespielte Kopie bekommt **keinen** Schlüssel
+35
View File
@@ -0,0 +1,35 @@
# #027 Die Editor-Abläufe lassen ihre Vorlagen stehen
**Status:** offen
**Im Tracker:** –
**Meilenstein:** v0.2.0
**Labels:** phase-2, test
**Geschätzt:** 1 h **Tatsächlich:** –
## Ziel
In der Entwicklungsdatenbank stehen über hundert Vorlagen mit Namen wie
`ZZ E2E Editor 1790324192596 C`. Die Ende-zu-Ende-Abläufe legen sie an und räumen sie nicht weg; bei
jedem Lauf kommen drei dazu.
Aufgefallen beim Nachsehen zu [#021](021-stabiler-schluessel-vorlagen.md), als eine Abfrage über
`Vorlage` statt sieben Zeilen über hundert lieferte.
Das ist kein Schaden an den Tests — das `ZZ`-Präfix sortiert sie ans Ende, und jeder Ablauf legt
seine eigenen an. Es ist ein Schaden an allem, was **danach** in dieselbe Datenbank sieht: die
Vorlagenliste in der Oberfläche, Screenshots, und jede Abfrage von Hand. Bei einem Fehler, der
„0 Treffer“ oder „zu viele Treffer“ heißt, kostet das Zeit.
## Aufgaben
- [ ] Die Abläufe unter `tests/e2e/`, die Vorlagen anlegen, räumen sie in einem Nachlauf wieder weg —
über ihr Präfix, nicht über gemerkte Kennungen (ein abgebrochener Lauf merkt sich nichts)
- [ ] Dasselbe für Geräte, Personen und Läufe prüfen, die die Abläufe anlegen
- [ ] Einmalig aufräumen: die vorhandenen Reste aus der Entwicklungsdatenbank entfernen
- [ ] Prüfen, ob ein Nachlauf das überhaupt leisten kann — ein Ablauf, der mitten im Lauf scheitert,
darf den Nachlauf nicht überspringen
## Akzeptanzkriterien
- [ ] Nach `pnpm test:e2e` steht in `Vorlage` keine Zeile mit `ZZ E2E`
- [ ] Ein abgebrochener Lauf lässt ebenfalls nichts stehen
+3 -2
View File
@@ -25,10 +25,11 @@ Diese Dateien sind die Quelle; `pnpm issues:sync` spiegelt sie in den Gitea-Trac
| #018 | [M13 – E2E-Tests, Anleitung, PDF](018-e2e-anleitung-pdf.md) | erledigt | v0.1.0 | 14 h | 2 h 15 min |
| #019 | [M14 – Betriebswege und Release v0.1.0](019-betrieb-release.md) | erledigt | v0.1.0 | 10 h | 5 h 25 min |
| #020 | [Vorgesetzter auch für von Hand angelegte Personen](020-vorgesetzter-manuell.md) | offen | v0.2.0 | 3 h | – |
| #021 | [Stabiler Schlüssel für Seed-Vorlagen](021-stabiler-schluessel-vorlagen.md) | offen | v0.2.0 | 2 h | – |
| #021 | [Stabiler Schlüssel für Seed-Vorlagen](021-stabiler-schluessel-vorlagen.md) | erledigt | v0.2.0 | 2 h | 55 min |
| #022 | [Schnellstart je Gerätetyp pflegen](022-schnellstart-pflegen.md) | offen | v0.2.0 | 3 h | – |
| #023 | [Protokoll ansehen](023-protokoll-ansicht.md) | offen | v0.2.0 | 4 h | – |
| #024 | [Proxmox-Einzeiler auf einem echten PVE-Host gegenprüfen](024-proxmox-echtlauf.md) | offen | v0.2.0 | 2 h | – |
| #025 | [Healthcheck gibt die rohe Datenbankfehlermeldung heraus](025-gesundheit-fehlermeldung.md) | erledigt | v0.2.0 | 1 h | 25 min |
| #026 | [Zwei Konventionen präzisieren, die strenger klingen als sie gemeint sind](026-konventionen-praezisieren.md) | erledigt | v0.2.0 | 1 h | 20 min |
| | **Summe** | | | **152 h** | **36 h 05 min** |
| #027 | [Die Editor-Abläufe lassen ihre Vorlagen stehen](027-e2e-reste-vorlagen.md) | offen | v0.2.0 | 1 h | – |
| | **Summe** | | | **153 h** | **37 h 00 min** |