summaryrefslogtreecommitdiff
path: root/src/test/fixtures/event.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2024-10-24 22:50:23 -0400
committerOwen Jacobson <owen@grimoire.ca>2024-10-24 22:50:23 -0400
commiteae0edb57e9ade7c73affb78baf2ae267b6290b8 (patch)
treed26f6d32d055ebd8b8f2d6a4b37e3e4bc58522a9 /src/test/fixtures/event.rs
parent0bb17bd01640492db2685e67bacac12dd54a9f59 (diff)
Consolidate test helper event functions
Diffstat (limited to 'src/test/fixtures/event.rs')
-rw-r--r--src/test/fixtures/event.rs79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/test/fixtures/event.rs b/src/test/fixtures/event.rs
new file mode 100644
index 0000000..de02d4d
--- /dev/null
+++ b/src/test/fixtures/event.rs
@@ -0,0 +1,79 @@
+use std::future::{self, Ready};
+
+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),
+ })
+ }
+}