summaryrefslogtreecommitdiff
path: root/src/test/fixtures/event.rs
diff options
context:
space:
mode:
authorKit La Touche <kit@transneptune.net>2024-10-25 22:16:03 -0400
committerKit La Touche <kit@transneptune.net>2024-10-25 22:16:03 -0400
commita50911a03c8955e08c77b0f3764dbda963013971 (patch)
tree9f5319191438b85b860ba06c9a203d3f129072a1 /src/test/fixtures/event.rs
parent4c49283553f4b18bb2a74de280b340a073e3253e (diff)
parentc87b5c53077c02bf21234e24bf976aa7a5f2bac8 (diff)
Merge branch 'main' into wip/mobile
Diffstat (limited to 'src/test/fixtures/event.rs')
-rw-r--r--src/test/fixtures/event.rs83
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),
+ })
+ }
}