summaryrefslogtreecommitdiff
path: root/src/test/fixtures/message.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2024-10-24 22:37:22 -0400
committerOwen Jacobson <owen@grimoire.ca>2024-10-24 22:37:22 -0400
commit0bb17bd01640492db2685e67bacac12dd54a9f59 (patch)
tree5c8425b8e6a962e609f82a7b3f2498524d8d6c6f /src/test/fixtures/message.rs
parentd97f8ac1858fbd46b77b541a612cc37b07fc0b5d (diff)
Tests for channel, invite, setup, and message deletion events.
This also found a bug! No live event was being emitted during invite accept. The only way to find out about invites was to reconnect.
Diffstat (limited to 'src/test/fixtures/message.rs')
-rw-r--r--src/test/fixtures/message.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/test/fixtures/message.rs b/src/test/fixtures/message.rs
index 3aebdd9..8cb50c1 100644
--- a/src/test/fixtures/message.rs
+++ b/src/test/fixtures/message.rs
@@ -8,7 +8,7 @@ use crate::{
clock::RequestedAt,
event::Event,
login::Login,
- message::{self, Body, Message},
+ message::{self, event, Body, Message},
};
pub async fn send(app: &App, channel: &Channel, sender: &Login, sent_at: &RequestedAt) -> Message {
@@ -31,6 +31,20 @@ pub fn events(event: Event) -> future::Ready<Option<message::Event>> {
})
}
+pub fn sent(event: message::Event) -> future::Ready<Option<event::Sent>> {
+ future::ready(match event {
+ message::Event::Sent(event) => Some(event),
+ message::Event::Deleted(_) => None,
+ })
+}
+
+pub fn deleted(event: message::Event) -> future::Ready<Option<event::Deleted>> {
+ future::ready(match event {
+ message::Event::Deleted(event) => Some(event),
+ message::Event::Sent(_) => None,
+ })
+}
+
pub fn fictitious() -> message::Id {
message::Id::generate()
}