Struct cqrs_es2::test::TestFramework [−][src]
pub struct TestFramework<A> { /* fields omitted */ }
Expand description
A framework for rigorously testing the aggregate logic, one of the most important parts of any CQRS system.
type CustomerTestFramework = TestFramework<Customer>; CustomerTestFramework::default() .given_no_previous_events() .when(CustomerCommand::AddCustomerName(AddCustomerName{ changed_name: "John Doe".to_string() })) .then_expect_events(vec![ CustomerEvent::NameAdded(NameAdded{ changed_name: "John Doe".to_string() }) ]); CustomerTestFramework::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
Initiates an aggregate test with no previous events.
Initiates an aggregate test with a collection of previous events.