# Ende-zu-Ende-Tests Browser-Tests mit Playwright gegen einen echten MindSift-Server. ```bash e2e/run.sh # baut das Image, startet es im Demo-Modus und führt die Tests aus ENGINE=docker e2e/run.sh ``` Gegen einen bereits laufenden Server (Demo-Modus mit `admin/admin` und `user/user` nötig): ```bash cd e2e && npm install && MINDSIFT_URL=http://localhost:8080 node collab.e2e.mjs ``` ## collab.e2e.mjs Zwei Browser (Eigentümer und Bearbeiter) arbeiten in derselben Notiz. Geprüft wird: - Tippen wird gespeichert und erscheint beim anderen ohne Neuladen - neue Bullets per Enter, in beide Richtungen - Offline-Phase: Text bleibt lokal und wird nach Rückkehr übertragen - beide Browser und der Server zeigen denselben Stand, auch nach Neuladen - Sperren eines geschlossenen Browsers laufen nach spätestens 20 s ab - Einrücken (Tab) und Zusammenführen (Backspace) bleiben nach Neuladen erhalten ## share.e2e.mjs Der Eigentümer teilt eine Notiz über den Freigabe-Dialog mit Rolle „Bearbeiten“; geprüft wird, dass die Freigabe als `write` gespeichert, im Dialog als „Bearbeiter“ angezeigt wird und der Empfänger die Notiz bearbeiten kann. ## lock.e2e.mjs Sperren, Präsenz, Rückgängig und Konfliktkopien mit zwei Browsern: Schloss und Schreibschutz am fremd bearbeiteten Bullet, Hinweis statt halb ausgeführter Aktion, `Strg+Z`/`Strg+Umschalt+Z`, Tippen direkt nach Enter, Markierung von Konfliktkopien sowie „Übernehmen“ (verweigert bei fremder Sperre, erfolgreich für den Sperrinhaber). `collab.e2e.mjs` und `lock.e2e.mjs` dauern wegen des Sperrablaufs je etwa eine Minute. Er läuft nicht in der CI, weil er Browser-Images braucht.