# Prompt 22 – Testfälle Bezug: alle Ergebnisse 01-21. Letzter Prompt der Technikphase (19-22). Format je Testfall: Ausgangssituation → Aktion → erwartetes Ergebnis → Fehlerfall (falls zutreffend). ## 1. Vollständige Kontrolle (Normalfall) - **Ausgang:** Objekt „Rucksack Handball 17", alle Positionen Soll=Ist im Bestand. - **Aktion:** Mitarbeiter startet Kontrolle, bestätigt jede Position „passt", schließt ab. - **Erwartet:** Kontrolle Status „abgeschlossen", keine Fehlbestände erzeugt, Kontrollnachweis mit allen Positionen gespeichert (Prompt 16). - **Fehlerfall:** Abschluss-Versuch mit unbestätigten Positionen → 409, Liste fehlender Positionen (Prompt 21). ## 2. Fehlbestand entsteht (keine Nachfüllung möglich) - **Ausgang:** Soll 10, Ist im Lager tatsächlich 8. - **Aktion:** Mitarbeiter trägt Ist=8 ein, wählt „nicht verfügbar". - **Erwartet:** Fehlbestand-Vorgang Status „offen", Fehlmenge=2, `entstanden_am` gesetzt, Kontrolle kann trotzdem abgeschlossen werden (Prompt 03/16). ## 3. Nachfüllung während der Kontrolle (Sofort-Nachfüllung) - **Ausgang:** Wie Test 2, aber Ersatz im Lager vorhanden. - **Aktion:** Mitarbeiter wählt „ja, sofort nachgefüllt". - **Erwartet:** Fehlbestand entsteht UND wird im selben Moment auf „erledigt" gesetzt, zwei Historieneinträge mit Zeitstempel (Karte 07, Prompt 02). ## 4. Nachfüllung nach der Kontrolle - **Ausgang:** Offener Fehlbestand aus vorheriger, bereits abgeschlossener Kontrolle. - **Aktion:** Verantwortlicher/Mitarbeiter erfasst Nachfüllung außerhalb einer laufenden Kontrolle, Menge = volle Fehlmenge. - **Erwartet:** Fehlbestand Status „erledigt", `erledigt_am` gesetzt, Ist-Menge im Objekt aktualisiert (Prompt 02/03). ## 5. Teilnachfüllung - **Ausgang:** Fehlmenge 5. - **Aktion:** Nachfüllung von 2 erfasst. - **Erwartet:** Fehlbestand bleibt „offen" (bzw. „nachgefuellt_teilweise"), Fehlmenge neu 3, Historieneintrag zeigt Teilschritt (Prompt 03). ## 6. Nicht vorhandenes Lagergut (Sonderfall) - **Ausgang:** Fehlbestand offen, keine Verfügbarkeit im Lager absehbar. - **Aktion:** Kein Eingriff über längeren Zeitraum. - **Erwartet:** Fehlbestand bleibt „offen", zählt in Dashboard-Alter-Filter, kein automatischer Statuswechsel ohne echte Nachfüllung/Genehmigung (Prompt 03/12). ## 7. Genehmigte Mindermenge - **Ausgang:** Offener Fehlbestand, Soll 10, Ist 8. - **Aktion:** Materialverantwortlicher genehmigt mit Begründung. - **Erwartet:** Status-Vermerk „Mindermenge genehmigt", Ist-Menge bleibt 8, Fehlbestand bleibt fachlich offen, zählt weiterhin als offen in Kennzahlen (Prompt 04/12). - **Fehlerfall:** Mitarbeiter versucht Genehmigung → 403 (Prompt 05/21). Genehmigung ohne Begründung → 422. ## 8. Ablauf einer Ausnahme - **Ausgang:** Aktive Mindermengen-Genehmigung aus Test 7. - **Aktion:** Nächste Kontrolle desselben Objekts wird gestartet, Abweichung besteht weiterhin. - **Erwartet:** Genehmigung automatisch Status „abgelaufen", Position erneut regulär als offene Abweichung bewertet, neue Genehmigung nötig falls gewünscht (Prompt 04, Karte 08). ## 9. Ablauf einer Ausnahme, Abweichung ist bei nächster Kontrolle behoben - **Ausgang:** Wie Test 8, aber zwischenzeitlich vollständig nachgefüllt. - **Aktion:** Nächste Kontrolle bestätigt Ist=Soll. - **Erwartet:** Fehlbestand UND Genehmigung gemeinsam auf „erledigt"/„beendet_durch_erledigung" (Prompt 04, Punkt 4). ## 10. Ablaufdatum - **Ausgang:** Material mit Ablaufdatum in 5 Tagen, Warnzeitraum 30 Tage. - **Aktion:** Kontrolle öffnet Position. - **Erwartet:** Status „bald ablaufend" angezeigt, auch wenn Menge korrekt (Prompt 14). Nach Austausch: neues Ablaufdatum erfasst, keine Fehlbestand-Erzeugung, sofern Ersatz vorhanden. - **Fehlerfall:** kein Ersatz vorhanden → normale Abweichung/Fehlbestand (Prompt 14, Punkt 4). ## 11. Duplizieren eines Rucksacks - **Ausgang:** Bestehendes Objekt mit Ist-Bestand, offenen Fehlbeständen, Historie. - **Aktion:** Administration dupliziert mit neuem Namen/Code/Standort. - **Erwartet:** Neues Objekt mit identischer Struktur/Sollmengen, Ist-Menge=0/„nicht kontrolliert", keine offenen Fehlbestände, keine Historie übernommen, neuer eindeutiger Code (Prompt 09). - **Fehlerfall:** Code-Kollision → 409 (Prompt 21). ## 12. Individuelle Abweichung von Vorlage - **Ausgang:** Vorlage definiert 10 BZ-Messtreifen. - **Aktion:** Materialverantwortlicher setzt Override auf 15 für ein Objekt. - **Erwartet:** Objektposition zeigt Sollmenge effektiv=15, Vorlage selbst unverändert, andere Objekte auf derselben Vorlage bleiben bei 10 (Prompt 10). ## 13. Änderung einer Vorlage (mit individuell abweichenden Objekten) - **Ausgang:** Vorlage wird geändert (neue Version, Sollmenge einer Position erhöht), ein Objekt hat für diese Position bereits einen Override. - **Aktion:** Vorlagenänderung gespeichert. - **Erwartet:** Objekte OHNE Override übernehmen neuen Wert automatisch (dynamische Referenz), Objekt MIT Override bleibt unverändert, bis Override manuell aufgehoben wird (Prompt 08/10). ## 14. Rollenrechte (Berechtigungsmatrix) - **Ausgang:** Vier Rollen aus Prompt 05. - **Aktion:** Jede Rolle versucht jede kritische Aktion (Genehmigen, Sollmenge ändern, Zuständigkeit zuordnen, Benutzer verwalten). - **Erwartet:** Nur laut Matrix erlaubte Aktionen gelingen (200er), alle anderen 403 (Prompt 05/21). ## 15. Historie/Nachvollziehbarkeit (Beispiel-Kette) - **Ausgang:** Wie Prompt 13, Beispiel-Kette (Soll 10, Ist 8 → Fehlbestand → Genehmigung → Nachfüllung → erledigt). - **Aktion:** Vollständige Kette durchlaufen. - **Erwartet:** Jeder Schritt als eigener, chronologisch korrekter Historieneintrag mit korrektem wer/wann/alt/neu, alle auf denselben Fehlbestand referenziert (Prompt 13). ## 16. Kurzzeit-Netzausfall während Kontrolle - **Ausgang:** Kontrolle „in Bearbeitung", Verbindung bricht nach Eingabe einer Position ab. - **Aktion:** Eingabe wird clientseitig gepuffert, Verbindung kommt zurück. - **Erwartet:** Position wird automatisch nachträglich übertragen (idempotenter PUT, Prompt 21), keine doppelte Erfassung, keine Datenverlust-Anzeige mehr nach erfolgreicher Übertragung (Prompt 17). ## 17. Abgebrochene Kontrolle - **Ausgang:** Kontrolle „in Bearbeitung", einige Positionen erfasst. - **Aktion:** Mitarbeiter bricht ab (z. B. Einsatzalarmierung). - **Erwartet:** Kontrolle Status „abgebrochen", KEINE Ist-Werte auf Objekt übernommen, kein Fehlbestand ausgelöst, Objekt bleibt „nicht kontrolliert seit vorherigem Datum" (Prompt 16). ## Referenzen Bezug: Ergebnisse 01-21