Chat-Akzeptanzkriterien/Akzeptanztests

Kontext

Ein Chat-Zugriff wird einem Nutzer gegeben, falls er Teilhaber einer Klassenlizenz ist (siehe #1034 (closed)).
Der Chat-Zugriff ist dabei Teil der Chat-Domain, die nichts über eine Klassenlizenz o.ä. weiß.

In den Tests geht es oft gewissermaßen um die API, manche Sachen (wie z.B. ein Chat als jemand der keine Chat-Zugriff hat) sollten per UI eh gar nicht möglich sein.

Einzelchats

Chat-Zugriff

Chat-Erstellung

Ein Nutzer mit Zugriff kann mit einem anderen Nutzer mit Zugriff einen Chat erstellen
  Falls Jonas Chat-Zugriff hat,
  und Max Chat-Zugriff hat,
  dann kann Jonas einen Einzelchat mit Max erstellen.

Ein Chat kann nicht mit einem Nutzer ohne Zugriff erstellt werden
  Falls Jonas Chat-Zugriff hat,
  und Max kein Chat-Zugriff hat,
  und Jonas einen Einzelchat mit Max erstellt,
  dann wird für Jonas ein "Max hat kein Chat-Zugriff"-Fehler geworfen.

Ein Nutzer ohne Zugriff kann kein Chat mit einem Nutzer mit Zugriff erstellen
  Falls Jonas Chat-Zugriff hat,
  und Max kein Chat-Zugriff hat,
  und Max versucht einen Einzelchat mit Jonas erstellt,
  dann wird für Max ein "Max hat kein Chat-Zugriff"-Fehler geworfen.

Ein Nutzer ohne Zugriff kann kein Chat mit einem Nutzer ohne Zugriff erstellen
  Falls Jonas kein Chat-Zugriff hat,
  und Max kein Chat-Zugriff hat,
  und Jonas versucht einen Einzelchat mit Max erstellt,
  dann wird für Jonas ein "Jonas hat kein Chat-Zugriff"-Fehler geworfen   und Max versucht einen Einzelchat mit Jonas zu erstellen   dann wird für Max ein "Max hat kein Chat-Zugriff"-Fehler geworfen

Ein Nutzer kann mit sich selbst einen Chat erstellen und darin schreiben   Falls Jonas ein Chat-Zugriff hat,
  und Jonas einen Einzelchat mit sich selbst erstellt,
  und Jonas die Nachricht "Hallo" schreibt,
  dann sieht Jonas die Nachricht "Hallo"

Grundszenario Falls Jonas ein Chat-Zugriff hat,
und Max ein Chat-Zugriff hat,
und Jonas einen Einzelchat mit Max erstellt

Simple Nachricht wird vom Gegenüber im Einzelchat gesehen
  und "Hallo" schreibt
  dann sieht Max die Nachricht "Hallo"

Löschen

Für alle löschen

Eine Nachricht kann innerhalb der Löschfrist nicht für alle gelöscht werden
  wenn die Löschfrist auf 3 Minuten gelegt wurde
  und Jonas "Hallo" und "Tschüss" schreibt
  und 1 Minute wartet
  und die Nachricht "Tschüss" für alle löscht
  dann sieht Jonas im Chat nur die Nachricht "Hallo"
  dann sieht Max im Chat nur die Nachricht "Hallo"
  (Sollte er hier wie bei WhatsApp eine "Nachricht gelöscht" stehen?)

Eine Nachricht kann außerhalb der Löschfrist nicht für alle gelöscht werden
  wenn die Löschfrist auf 3 Minuten gelegt wurde
  und Jonas "Hallo" und "Tschüss" schreibt
  und 3 Minuten wartet
  und versucht die Nachricht "Tschüss" für alle zu löschen
  dann wird eine "Löschfrist überschritten (3 Minuten)"-Fehler geworfen
  dann sieht Jonas die Nachrichten "Hallo" und "Tschüss"
  dann sieht Max die Nachrichten "Hallo" und "Tschüss"

Für einen selbst löschen (Eigene Nachricht)

Eine Nachricht von einem selbst kann für einen selbst vor der Löschfrist gelöscht werden
  wenn die Löschfrist auf 3 Minuten gelegt wurde
  und Jonas "Hallo" und "Tschüss" schreibt
  und 1 Minute wartet
  und die Nachricht "Tschüss" für sich selbst löscht
  dann sieht Jonas die Nachricht "Hallo" im Chat
  dann sieht Max die Nachricht "Hallo" und "Tschüss" im Chat

Eine Nachricht von einem selbst kann für einen selbst nach der Löschfrist gelöscht werden
  wenn die Löschfrist auf 3 Minuten gelegt wurde
  und Jonas "Hallo" und "Tschüss" schreibt
  und 3 Minuten wartet
  und versucht die Nachricht "Tschüss" für sich selbst zu löschen
  dann sieht Jonas nur die Nachricht "Hallo" im Chat
  dann sieht Max die Nachricht "Hallo" und "Tschüss" im Chat

Für einen selbst löschen (Nachricht des Chat-Partners)

Eine Nachricht von dem Chat-Partner kann für einen selbst vor der Löschfrist gelöscht werden
  wenn die Löschfrist auf 3 Minuten gelegt wurde
  und Max "Hey" und "Tschau" schreibt
  und 1 Minute wartet
  und Jonas die Nachricht "Tschau" für sich selbst löscht
  dann sieht Jonas nur die Nachricht "Hey" im Chat
  dann sieht Max die Nachricht "Hey" und "Tschau" im Chat

Eine Nachricht von dem Chat-Partner kann für einen selbst nach der Löschfrist gelöscht werden
  wenn die Löschfrist auf 3 Minuten gelegt wurde
  und Max "Hey" und "Tschau" schreibt
  und 3 Minute wartet
  und Jonas die Nachricht "Tschüss" für sich selbst löscht
  dann sieht Jonas nur die Nachricht "Hey" im Chat
  dann sieht Max die Nachricht "Hey" und "Tschau" im Chat

Editieren

Eine Nachricht kann innerhalb der Editierfrist editiert werden
  wenn die Editierfrist auf 3 Minuten gelegt wurde
  und Jonas "Hallo" schreibt
  und 1 Minute wartet
  und die Nachricht zu "Tschüss" ändert
  dann sieht Max die Nachricht "Tschüss"

Eine Nachricht kann außerhalb der Editierfrist nicht editiert werden
  wenn die Editierfrist auf 3 Minuten gelegt wurde
  und Jonas "Hallo" schreibt
  und 3 Minuten wartet
  und versucht die Nachricht zu "Tschüss" zu ändern
  dann wird ein "Editierfrist überschritten (3 Minuten)"-Fehler geworfen

Eingefrorenen

Der Chat-Partner mit Chat-Zugriff kann keine Nachrichten in einem eingefrorenen Einzelchat schreiben
  und Jonas "Hallo" schreibt
  und Max den Chat-Zugriff verliert
  und Jonas versucht "Hey" zu schreiben
  dann wird ein "Max hat kein Chat-Zugriff"-Fehler geworfen/angezeigt.

Der Chat-Partner ohne Chat-Zugriff kann keine Nachrichten in einem eingefrorenen Einzelchat schreiben
  und Jonas "Hallo" schreibt
  und Max den Chat-Zugriff verliert
  und Max versucht "Was soll das" zu schreiben
  dann wird ein "kein Chat-Zugriff"-Fehler für Max geworfen.

In einem eingefrorenen Einzelchat kann der Teilnehmer mit Chat-Zugriff eine Nachricht innerhalb der Löschfrist löschen
  wenn die Löschfrist auf 3 Minuten gelegt wurde
  und Max "Hallo" und "Tschüss" schreibt
  und 1 Minute wartet
  und Jonas den Chat-Zugriff verliert
  und Max die Nachricht "Tschüss" für alle löscht
  dann sieht Jonas im Chat nur die Nachricht "Hallo"
  dann sieht Max im Chat nur die Nachricht "Hallo"

In einem eingefrorenen Einzelchat kann der Teilnehmer mit Chat-Zugriff eine Nachricht außerhalb der Löschfrist nicht für alle löschen
  wenn die Löschfrist auf 3 Minuten gelegt wurde
  und Max "Hallo" und "Tschüss" schreibt
  und 5 Minuten wartet
  und Jonas den Chat-Zugriff verliert
  und Max versucht die Nachricht "Tschüss" für alle zu löschen
  dann wird für Max ein "Löschfrist überschritten"-Fehler geworfen
  dann sieht Jonas im Chat die Nachricht "Hallo" und "Tschüss"
  dann sieht Max im Chat die Nachricht "Hallo" und "Tschüss"

In einem eingefrorenen Einzelchat kann ein Teilnehmer ohne Chat-Zugriff keine Nachricht für sich selbst löschen
  und Max "Hi" schreibt
  und Max den Chat-Zugriff verliert
  und Max versucht die Nachricht "Hi" für sich selbst zu löschen
  dann wird ein "Chat is eingefroren"-Fehler geworfen.

In einem eingefrorenen Einzelchat kann ein Teilnehmer ohne Chat-Zugriff keine Nachricht für alle löschen
  und Max "Hi" schreibt
  und Max den Chat-Zugriff verliert
  und Max versucht die Nachricht "Hi" für alle zu löschen
  dann wird ein "Chat is eingefroren"-Fehler geworfen.

In einem eingefrorenen Einzelchat kann ein Teilnehmer mit Chat-Zugriff keine Nachricht editieren
  und Jonas "Hallo" schreibt
  und Max den Chat-Zugriff verliert
  und Jonas versucht die Nachricht "Hallo" zu "Was geeeht" editieren
  dann wird ein "Chat is eingefroren"-Fehler geworfen.

In einem eingefrorenen Einzelchat kann ein Teilnehmer ohne Chat-Zugriff keine Nachricht editieren
  und Max "Hi" schreibt
  und Max den Chat-Zugriff verliert
  und Max versucht die Nachricht "Hi" zu "Hai" editieren
  dann wird ein "Chat is eingefroren"-Fehler geworfen.

Bei auftauen eines Einzelchats kann jeder wieder schreiben"
  und Jonas "Na du Bumsnudel" schreibt
  und Max "Na du Honigbiene" schreibt
  und Max den Chat-Zugriff verliert
  und Jonas den Chat-Zugriff verliert
  und Max den Chat-Zugriff wiederbekommt
  und Jonas den Chat-Zugriff wiederbekommt
  und Jonas "Du Tisch" schreibt
  und Max "Du Fisch" schreibt
  dann sieht Jonas die Nachrichten "Na du Bumsnudel", "Na du Honigbiene", "Du Tisch", "Du Fisch"   dann sieht Max die Nachrichten "Na du Bumsnudel", "Na du Honigbiene", "Du Tisch", "Du Fisch"

Chat für einen selbst löschen*

Der andere sieht noch den ganzen Verlauf // Unit-Test nachher: Chat-Nachrichten werden aus DB gelöscht
  und Jonas schreibst "Na du"
  und Max schreibt "Hey"
  und Jonas den Chat für sich löscht
  dann hat Jonas kein Chat mehr mit Max
  dann hat Max (noch) den Chat mit Jonas
  dann sieht Max die Nachrichten "Na du" und "Hey"
  // Merke: Nachrichten in der Löschfrist werden für den anderen nicht gelöscht

Falls der andere einen selbst wieder anschreibt, dann hat man selbst nicht den Verlauf der gelöschten Chats
  und Jonas schreibst "Na du"
  und Max schreibt "Hey"
  und Jonas den Chat für sich löscht
  und Max in den Chat "Wasch los" schreibt
  dann hat Jonas ein Chat mit Max
  dann sieht Jonas nur die Nachricht "Wasch los"

Blockieren

NEUES SZENARIO
  Falls Jonas ein Chat-Zugang hat
  Falls Max ein Chat-Zugang hat

Eine blockierte Person kann kein Chat mit einem starten
  und Jonas blockiert Max
  und Max versucht ein Chat mit Jonas zu starten
  dann wird ein "Du wurdest blockiert"-Fehler geworfen
  und Max hat kein Chat mit Jonas
  und Jonas hat kein Chat mit Max

Eine blockierte Person kann in einem bestehenden Chat keine Nachricht schicken
  // --> Hier geht es gewissermaßen mehr um die API als um die UI.
  // In der UI sollte Max Jonas wahrscheinlich gar keine Möglichkeit haben überhaupt
  und Jonas mit Max ein Chat startet
  und Max schreibt "Hey du doofkopf"
  und Jonas blockiert Max
  und Max versucht "ich rasier dich amk" zu schreiben
  dann wird für Max ein "Du wurdest blockiert"-Fehler geworfen
  und Max sieht nur die Nachricht "Hey du doofkopf"
  und Jonas sieht nur die Nachricht "Hey du doofkopf"

Es kann keine Nachricht in einem bestehenden Chat an eine blockierte Person geschickt werden
  // --> Hier geht es gewissermaßen mehr um die API als um die UI.
  // In der UI sollte Max Jonas wahrscheinlich gar keine Möglichkeit haben überhaupt
  // eine Nachricht zu schicken.
  und Jonas mit Max ein Chat startet
  und Max schreibt "Hey du doofkopf"
  und Jonas blockiert Max
  und Jonas versucht "lass mich" zu schreiben
  dann wird für Jonas ein "Du hast Max blockiert"-Fehler geworfen
  und Max sieht nur die Nachricht "Hey du doofkopf"
  und Jonas sieht nur die Nachricht "Hey du doofkopf"

Nachrichten eines geblockten Nutzers können innerhalb der Löschfrist von diesem Nutzer für alle Nutzer gelöscht werden
  und die Löschfrist auf 3 Minuten eingestellt ist
  und Max schreibt "Was sagt man über einen Spanner, der gestorben ist? Der ist weg vom Fenster!"
  und Jonas blockiert Max
  und Max wartet 1 Minute
  und Max löscht die Nachricht "Was sagt man über einen Spanner, der gestorben ist? Der ist weg vom Fenster!" für alle
  dann sieht Jonas keine Nachricht im Chat
  dann sieht Max keine Nachricht im Chat

Nachrichten eines geblockten Nutzers können außerhalb der Löschfrist von diesem Nutzer nicht für alle Nutzer gelöscht werden   und die Löschfrist auf 3 Minuten eingestellt ist
  und Max schreibt "Was sagt man über einen Spanner, der gestorben ist? Der ist weg vom Fenster!"
  und Jonas blockiert Max
  und Max wartet 5 Minuten
  und Max versucht die Nachricht "Was sagt man über einen Spanner, der gestorben ist? Der ist weg vom Fenster!" für alle zu löschen
  dann wird für Max ein "Löschfrist überschritten"-Fehler geworfen
  dann sieht Jonas eine Nachricht im Chat
  dann sieht Max eine Nachricht im Chat

Nachrichten eines Nutzers können innerhalb der Löschfrist von diesem Nutzer für alle geblockte Nutzer gelöscht werden
  und die Löschfrist auf 3 Minuten eingestellt ist
  und Jonas schreibt "Was macht ein Clown im Büro? Faxen!"
  und Jonas blockiert Max
  und Jonas wartet 1 Minuten
  und Jonas löscht die Nachricht "Was macht ein Clown im Büro? Faxen!" für alle
  dann sieht Jonas keine Nachricht im Chat
  dann sieht Max keine Nachricht im Chat

Nachrichten eines Nutzers können innerhalb der Löschfrist von diesem Nutzer für alle geblockte Nutzer gelöscht werden
  und die Löschfrist auf 3 Minuten eingestellt ist
  und Jonas schreibt "Was macht ein Clown im Büro? Faxen!"
  und Jonas blockiert Max
  und Jonas wartet 5 Minuten
  und Jonas versucht die Nachricht "Was macht ein Clown im Büro? Faxen!" für alle zu löschen
  dann wird für Jonas ein "Löschfrist überschritten"-Fehler geworfen
  dann sieht Jonas eine Nachricht im Chat
  dann sieht Max eine Nachricht im Chat

Eine Nachricht kann nicht mehr editiert werden, wenn der andere Nutzer geblockt wurde
  und Jonas schreibt "Evanesco!"
  und Jonas blockiert Max
  und Jonas ändert die Nachricht von "Evanesco!" zu "Expelliarmus!"
  dann wird für Jonas ein "Max ist blockiert"-Fehler geworfen
  dann sieht Jonas die Nachricht "Evanesco!"
  dann sieht Max die Nachricht "Evanesco!"

Eine Nachricht kann nicht mehr editiert werden, wenn man blockiert wurde
  und Jonas schreibt "Evanesco!"
  und Max blockiert Jonas
  und Jonas ändert die Nachricht von "Evanesco!" zu "Expelliarmus!"
  dann wird für Jonas ein "Max hat dich blockiert"-Fehler geworfen
  dann sieht Jonas die Nachricht "Evanesco!"
  dann sieht Max die Nachricht "Evanesco!"

Es kann kein Chat mit einer blockierten Person gestartet werden
  und Jonas blockiert Max
  und Jonas versucht ein Chat mit Max zu starten
  dann wird ein "Du hast Max blockiert"-Fehler geworfen
  und Max hat kein Chat mit Jonas
  und Jonas hat kein Chat mit Max

Ein Nutzer der als "nicht blockierbar" gilt, kann nicht geblockt werden
  und Max wird als "nicht blockierbar" eingestuft
  und Jonas versucht Max zu blockieren
  dann wird für Jonas ein "Max ist nicht blockierbar"-Fehler geworfen
  // Es wird vom Verhalten auch nochmals geprüft dass er nicht blockiert ist
  und Max startet ein neuen Einzelchat mit Jonas
  dann haben Max und Jonas einen neuen Einzelchat

Ein Nutzer, welcher als "nicht blockierbar" eingestuft wird, während er blockiert ist, wird entblockiert
  und Max wird von Jonas blockiert
  und Max wird als "nicht blockierbar" eingefstuft
  und Max die Nachricht "😈😈😈" an Jonas schreibt
  dann sieht Jonas die Nachricht "😈😈😈"

Gruppenchats

Chat-Erstellung

Ein Nutzer ohne Chat-Zugriff kann keinen Gruppenchat erstellen   Falls Jonas keinen Chat-Zugriff hat,
  und Max ein Chat-Zugriff hat,
  und Thomas ein Chat-Zugriff hat,
  und Jonas versucht einen Gruppenchat mit Max und Thomas zu erstellen,
  dann wird für Jonas einen "Du hast kein Chat-Zugriff"-Fehler geworfen/angezeigt.

Wenn mindestens ein Nutzer keinen Chat-Zugriff hat, dann kann kein Gruppenchat erstellt werden   Falls Jonas ein Chat-Zugriff hat,
  und Max kein Chat-Zugriff hat,
  und Thomas ein Chat-Zugriff hat,
  und Jonas versucht einen Gruppenchat mit Max und Thomas zu erstellen,
  dann wird "Max hat kein Chat-Zugriff"-Fehler geworfen/angezeigt.

Ein Nutzer kann nicht mit sich selbst einen Gruppenchat erstellen   Falls Jonas ein Chat-Zugriff hat,
  und Jonas versucht einen Gruppenchat mit sich selbst zu erstellen,
  dann wird ein "Kein Gruppenchat mit sich selbst"-Fehler geworfen,
  und Jonas hat kein neuen Gruppenchat

Grundszenario
Falls Jonas ein Chat-Zugriff hat,
und Max ein Chat-Zugriff hat,
und Thomas ein Chat-Zugriff hat,\

Jeder im Gruppenchat sieht die Nachricht wenn einer schreibt, wenn alle Chat-Zugriff haben
  und Jonas "Hallo" schreibt,
  und Max die "Hey" schreibt,
  und Thomas ";)" schreibt,
  dann sieht Jonas die Nachrichten "Hallo", "Hey", ";)",
  dann sieht Max die Nachrichten "Hallo", "Hey", ";)",
  dann sieht Thomas die Nachrichten "Hallo", "Hey", ";)".

Eine Nachricht kann innerhalb der Löschfrist gelöscht werden
  wenn die Löschfrist auf 3 Minuten gelegt wurde
  und Jonas "Hallo" schreibt
  und 1 Minute wartet
  und die Nachricht "Hallo" löscht
  dann sehen Max und Thomas keine Nachricht (Sollte er hier wie bei WhatsApp "Nachricht gelöscht" sehen?)

Eine Nachricht kann außerhalb der Löschfrist nicht gelöscht werden
  wenn die Löschfrist auf 3 Minuten gelegt wurde
  und Jonas "Hallo" schreibt
  und 3 Minuten wartet
  und versucht die Nachricht "Hallo" zu löschen
  dann wird eine "Löschfrist überschritten (3 Minuten)"-Fehler geworfen
  (dann sieht Max und Thomas die Nachricht "Hallo") [TODO: Beim Einzelchat oben noch hinschreiben]

Eine Nachricht kann innerhalb der Editierfrist editiert werden
  wenn die Editierfrist auf 3 Minuten gelegt wurde
  und Jonas "Hallo" schreibt
  und 1 Minute wartet
  und die Nachricht zu "Tschüss" ändert
  dann sehen Max und Thomas die Nachricht "Tschüss"

Eine Nachricht kann außerhalb der Editierfrist nicht editiert werden
  wenn die Editierfrist auf 3 Minuten gelegt wurde
  und Jonas "Hallo" schreibt
  und 3 Minuten wartet
  und versucht die Nachricht zu "Tschüss" zu ändern
  dann wird ein "Editierfrist überschritten (3 Minuten)"-Fehler geworfen
  (dann sieht Max und Thomas die Nachricht "Hallo")

Wenn ein Chat-Teilnehmer den Chat-Zugriff verliert, dann kann er keine Nachricht löschen
  und Jonas schreibt "Moin"
  und Jonas verliert den Chat-Zugriff
  und Jonas versucht die Nachricht "Moin" zu löschen
  dann wird ein "Chat-Zugriff verloren"-Fehler geworfen

Wenn ein Chat-Teilnehmer den Chat-Zugriff verliert, dann kann er keine Nachricht editieren
  und Jonas schreibt "Moin"
  und Jonas verliert den Chat-Zugriff
  und Jonas versucht die Nachricht "Moin" zu "Hallo" umzuändern
  dann wird ein "Chat-Zugriff verloren"-Fehler geworfen

Wenn ein Chat-Teilnehmer den Chat-Zugriff verliert, dann sieht er nicht mehr die Nachrichten, die von den anderen nach dem Verlust des Chat-Zugriffs geschrieben werden
  und Jonas verliert den Chat-Zugriff
  und Max schreibt "Moin"
  dann sieht Jonas keine Nachricht

Wenn ein Chat-Teilnehmer den Chat-Zugriff verliert und ein anderer Teilnehmer eine Nachricht bearbeitet, dann wird die Nachricht für den Chat-Teilnehmer ohne Chat-Zugriff  nicht bearbeitet
  und Max schreibt "Moin"
  und Jonas verliert den Chat-Zugriff
  und Max die Nachricht "Moin" zu "Hallo" editiert
  dann sieht Jonas die Nachricht "Moin" (er sieht die Veränderung nicht)
  dann sieht Max die Nachricht "Hallo"
  dann sieht Thomas die Nachricht "Hallo"

Wenn ein Chat-Teilnehmer den Chat-Zugriff verliert und ein anderer Teilnehmer eine Nachricht löscht, dann wird die Nachricht für den Chat-Teilnehmer ohne Zugriff nicht  gelöscht
  und Max schreibt "Moin"
  und Jonas verliert den Chat-Zugriff
  und Max die Nachricht "Moin" löscht
  dann sieht Jonas noch die Nachricht "Moin"
  dann sieht Max keine Nachricht
  dann sieht Thomas keine Nachricht

Bei Verlust und Wiederherstellung des Chat-Zugriffs werden verpasste Nachrichten nachgeladen
  und Max schreibt "Du wirst jetzt eingefroren"
  und Jonas verliert den Chat-Zugriff
  und Thomas schreibt "Er ist cooler als Eis"
  und Jonas erhält wieder den Chat-Zugriff
  und Max schreibt "Er ist wieder da"
  dann sieht Jonas die Nachrichten "Du wirst jetzt eingefroren", "Er ist cooler als Eis", "Er ist wieder da"

Bei Verlust und Wiederherstellung des Chat-Zugriffs werden gelöschte Nachrichten "nachgelöscht"
  und Max schreibt "Du doofi"
  und Jonas verliert den Chat-Zugriff
  und Max löscht die Nachricht "Du doofi"
  und Jonas erhält den Chat-Zugriff
  dann sieht Jonas keine Nachricht

Bei Verlust und Wiederherstellung des Chat-Zugriffs werden editierte Nachrichten "nacheditiert"
  und Max schreibt "Du doofi"
  und Jonas verliert den Chat-Zugriff
  und Max löscht die Nachricht "Du liebenswerter Mensch"
  und Jonas erhält den Chat-Zugriff
  dann sieht Jonas die Nachricht "Du liebenswerter Mensch"

Nachricht für ein selbst löschen

Nachricht für alle löschen

Blockieren // In Gruppenchats wird die Blockier-Funktion erstmal ignoriert. Somit können
// blockierte Nutzer in Gruppen ganz normal miteinander interagrieren. Wir richten
// uns dabei nach dem Verhalten von WhatsApp & Telegram.
// // In der Zukunft kann man es vielleicht so umändern, dass man in einem Gruppenchat
// sieht, dass eine blockierte Person was geschrieben hat und dann entweder die Person
// für den ganzen Chat entblockiert - wodurch die bisherigen Nachrichten der Person nachgeladen
// werden - oder man einzelne Nachrichten der Person trotzdem manuell ansehen kann.
Nachricht eines geblockten Nutzers wird trotzdem angezeigt
Nachricht von einem selbst wird einer geblockten Person angezeigt

Ein geblockter Nutzer kann keinen Gruppenchat mit der Person erstellen, die den Nutzer geblockt hat.
  Falls Jonas ein Chat-Zugriff hat,
  und Thomas ein Chat-Zugriff hat,
  und Thomas blockiert Jonas,
  und Jonas versucht einen Gruppenchat mit Thomas zu erstellen,
  dann wird ein "Du wurdest von Thomas geblockt"-Fehler geworfen,
  und Thomas hat kein neuen Gruppenchat
  und Jonas hat kein neuen Gruppenchat

Ein Nutzer kann kein Gruppenchat mit einem von ihm geblockten anderen Nutzer erstellen
  Falls Jonas ein Chat-Zugriff hat,
  und Thomas ein Chat-Zugriff hat,
  und Thomas blockiert Jonas,
  und Thomas versucht einen Gruppenchat mit Jonas zu erstellen,
  dann wird ein "Du hast Jonas geblockt"-Fehler geworfen,
  und Thomas hat kein neuen Gruppenchat
  und Jonas hat kein neuen Gruppenchat

Gruppenchat wird selbstständig verlassen --> Gruppenchat wird auch so art eingefroren

Ein Gruppenchat kann gelöscht werden, falls dieser eingefroren ist

Gruppenchat verlassen - keine Nachrichten mehr bekommen

// Hier sollte man überlegen, dass man, falls der Gruppenchat für einen selbst eingefroren wird, man den Gruppenchat
// automatisch verlässt
Ein Gruppenchat kann gelöscht werden, falls der Nutzer diesen verlassen hat
Ein Gruppenchat kann nicht gelöscht werden, falls der Nutzer diesen nicht verlassen hat (oder nicht eingefroren)

Ein Administrator kann eine Nachricht von einer anderen Person für alle Teilnehmer löschen --> Sollte da eine Nachricht "Wurde vom Admin gelöscht" stehen?

Todo:

  • Ruhemodus-Tests
  • Einzelnen Chat muten
  • Chat-Einstellungen
Edited Jul 30, 2020 by Jonas Sander
Assignee Loading
Time tracking Loading