summaryrefslogtreecommitdiff
path: root/src/test/fixtures/event.rs
diff options
context:
space:
mode:
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),
+ })
+ }
}