diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-10-24 22:37:22 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-10-24 22:37:22 -0400 |
| commit | 0bb17bd01640492db2685e67bacac12dd54a9f59 (patch) | |
| tree | 5c8425b8e6a962e609f82a7b3f2498524d8d6c6f /src/test | |
| parent | d97f8ac1858fbd46b77b541a612cc37b07fc0b5d (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')
| -rw-r--r-- | src/test/fixtures/channel.rs | 7 | ||||
| -rw-r--r-- | src/test/fixtures/event.rs | 8 | ||||
| -rw-r--r-- | src/test/fixtures/login.rs | 16 | ||||
| -rw-r--r-- | src/test/fixtures/message.rs | 16 | ||||
| -rw-r--r-- | src/test/fixtures/mod.rs | 1 |
5 files changed, 38 insertions, 10 deletions
diff --git a/src/test/fixtures/channel.rs b/src/test/fixtures/channel.rs index 8cb38ae..1fd8d23 100644 --- a/src/test/fixtures/channel.rs +++ b/src/test/fixtures/channel.rs @@ -45,6 +45,13 @@ pub fn created(event: channel::Event) -> future::Ready<Option<channel::event::Cr }) } +pub fn deleted(event: channel::Event) -> future::Ready<Option<channel::event::Deleted>> { + future::ready(match event { + channel::Event::Deleted(event) => Some(event), + channel::Event::Created(_) => None, + }) +} + pub fn fictitious() -> channel::Id { channel::Id::generate() } diff --git a/src/test/fixtures/event.rs b/src/test/fixtures/event.rs deleted file mode 100644 index fa4fbc0..0000000 --- a/src/test/fixtures/event.rs +++ /dev/null @@ -1,8 +0,0 @@ -use crate::message::{Event, Message}; - -pub fn message_sent(event: &Event, message: &Message) -> bool { - matches!( - &event, - Event::Sent(event) if message == &event.into() - ) -} diff --git a/src/test/fixtures/login.rs b/src/test/fixtures/login.rs index e308289..cbcbdd4 100644 --- a/src/test/fixtures/login.rs +++ b/src/test/fixtures/login.rs @@ -1,9 +1,12 @@ +use std::future::{self, Ready}; + use faker_rand::en_us::internet; use uuid::Uuid; use crate::{ app::App, clock::RequestedAt, + event::Event, login::{self, Login, Password}, name::Name, }; @@ -45,3 +48,16 @@ fn propose_name() -> Name { pub fn propose_password() -> Password { Uuid::new_v4().to_string().into() } + +pub fn events(event: Event) -> Ready<Option<login::Event>> { + future::ready(match event { + Event::Login(event) => Some(event), + _ => None, + }) +} + +pub fn created(event: login::Event) -> Ready<Option<login::event::Created>> { + future::ready(match event { + login::Event::Created(event) => Some(event), + }) +} 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() } diff --git a/src/test/fixtures/mod.rs b/src/test/fixtures/mod.rs index 2b7b6af..cf30e02 100644 --- a/src/test/fixtures/mod.rs +++ b/src/test/fixtures/mod.rs @@ -4,7 +4,6 @@ use crate::{app::App, clock::RequestedAt, db}; pub mod channel; pub mod cookie; -pub mod event; pub mod future; pub mod identity; pub mod invite; |
