pub struct HandlerTester<C: ICommand, E: IEvent, A: Default + ICommandHandler<C, E> + IEventHandler<E>> { /* private fields */ }Expand description
HandlerTester provides a consistent way to test aggregate
implementations
§Examples
use cqrs_es2::{
example_impl::{
AddCustomerName,
Customer,
CustomerCommand,
CustomerEvent,
NameAdded,
},
HandlerTester,
};
type CustomTester =
HandlerTester<CustomerCommand, CustomerEvent, Customer>;
CustomTester::default()
.given_no_previous_events()
.when(CustomerCommand::AddCustomerName(
AddCustomerName {
changed_name: "John Doe".to_string(),
},
))
.then_expect(vec![CustomerEvent::NameAdded(
NameAdded {
changed_name: "John Doe".to_string(),
},
)]);
CustomTester::default()
.given(vec![CustomerEvent::NameAdded(
NameAdded {
changed_name: "John Doe".to_string(),
},
)])
.when(CustomerCommand::AddCustomerName(
AddCustomerName {
changed_name: "John Doe".to_string(),
},
))
.then_expect_error(
"a name has already been added for this customer",
)Implementations§
Source§impl<C: ICommand, E: IEvent, A: Default + ICommandHandler<C, E> + IEventHandler<E>> HandlerTester<C, E, A>
impl<C: ICommand, E: IEvent, A: Default + ICommandHandler<C, E> + IEventHandler<E>> HandlerTester<C, E, A>
Sourcepub fn given_no_previous_events(&self) -> HandlerResultExecutor<C, E, A>
pub fn given_no_previous_events(&self) -> HandlerResultExecutor<C, E, A>
Initiates a handler test with no previous events
Trait Implementations§
Source§impl<C: ICommand, E: IEvent, A: Default + ICommandHandler<C, E> + IEventHandler<E>> Default for HandlerTester<C, E, A>
impl<C: ICommand, E: IEvent, A: Default + ICommandHandler<C, E> + IEventHandler<E>> Default for HandlerTester<C, E, A>
Auto Trait Implementations§
impl<C, E, A> Freeze for HandlerTester<C, E, A>
impl<C, E, A> RefUnwindSafe for HandlerTester<C, E, A>
impl<C, E, A> Send for HandlerTester<C, E, A>where
A: Send,
impl<C, E, A> Sync for HandlerTester<C, E, A>where
A: Sync,
impl<C, E, A> Unpin for HandlerTester<C, E, A>
impl<C, E, A> UnwindSafe for HandlerTester<C, E, A>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more