diff options
| author | Kit La Touche <kit@transneptune.net> | 2024-10-25 22:16:03 -0400 |
|---|---|---|
| committer | Kit La Touche <kit@transneptune.net> | 2024-10-25 22:16:03 -0400 |
| commit | a50911a03c8955e08c77b0f3764dbda963013971 (patch) | |
| tree | 9f5319191438b85b860ba06c9a203d3f129072a1 /src/test/fixtures/event.rs | |
| parent | 4c49283553f4b18bb2a74de280b340a073e3253e (diff) | |
| parent | c87b5c53077c02bf21234e24bf976aa7a5f2bac8 (diff) | |
Merge branch 'main' into wip/mobile
Diffstat (limited to 'src/test/fixtures/event.rs')
| -rw-r--r-- | src/test/fixtures/event.rs | 83 |
1 files changed, 77 insertions, 6 deletions
diff --git a/src/test/fixtures/event.rs b/src/test/fixtures/event.rs index fa4fbc0..de02d4d 100644 --- a/src/test/fixtures/event.rs +++ b/src/test/fixtures/event.rs @@ -1,8 +1,79 @@ -use crate::message::{Event, Message}; +use std::future::{self, Ready}; -pub fn message_sent(event: &Event, message: &Message) -> bool { - matches!( - &event, - Event::Sent(event) if message == &event.into() - ) +use crate::event::Event; + +pub fn channel(event: Event) -> Ready<Option<channel::Event>> { + future::ready(match event { + Event::Channel(channel) => Some(channel), + _ => None, + }) +} + +pub fn message(event: Event) -> Ready<Option<message::Event>> { + future::ready(match event { + Event::Message(event) => Some(event), + _ => None, + }) +} + +pub fn login(event: Event) -> Ready<Option<login::Event>> { + future::ready(match event { + Event::Login(event) => Some(event), + _ => None, + }) +} + +pub mod channel { + use std::future::{self, Ready}; + + use crate::channel::event; + pub use crate::channel::Event; + + pub fn created(event: Event) -> Ready<Option<event::Created>> { + future::ready(match event { + Event::Created(event) => Some(event), + Event::Deleted(_) => None, + }) + } + + pub fn deleted(event: Event) -> Ready<Option<event::Deleted>> { + future::ready(match event { + Event::Deleted(event) => Some(event), + Event::Created(_) => None, + }) + } +} + +pub mod message { + use std::future::{self, Ready}; + + use crate::message::event; + pub use crate::message::Event; + + pub fn sent(event: Event) -> Ready<Option<event::Sent>> { + future::ready(match event { + Event::Sent(event) => Some(event), + Event::Deleted(_) => None, + }) + } + + pub fn deleted(event: Event) -> future::Ready<Option<event::Deleted>> { + future::ready(match event { + Event::Deleted(event) => Some(event), + Event::Sent(_) => None, + }) + } +} + +pub mod login { + use std::future::{self, Ready}; + + use crate::login::event; + pub use crate::login::Event; + + pub fn created(event: Event) -> Ready<Option<event::Created>> { + future::ready(match event { + Event::Created(event) => Some(event), + }) + } } |
