public void RegisterCustomer_CustomerRegistered() { IEventStorage eventStorage = new InMemoryEventStorage(); var repository = new Repository <Customer.State>(eventStorage); var useCases = new CustomerUseCases(repository); var stories = Stories.OfUseCases(useCases); var customerId = Guid.NewGuid().ToString(); var firstName = "Mohsen"; var lastName = "Bazmi"; var address = "Customer Address"; var phoneNumber = "09100000000"; var command = new RegisterCustomer(customerId , firstName , lastName , address , phoneNumber); var expectedEvents = new IDomainEvent[] { new CustomerRegistered(customerId, firstName, lastName, address, phoneNumber) }; // var envelopedCommand = new CommandEnvelope(MessageChainInfo.Init(), command); stories.Tell(command); var events = eventStorage .ReadEvents(new Customer.State(customerId).StreamNameForId(customerId)) .Result .Select(e => e.Body); Assert.Equal(events, expectedEvents); }
public void ReadsTheAppendedEvents(string streamName, int version) { var sut = new InMemoryEventStorage(); var expectedEvents = CreateManyUntypedEventEnvelopes(10); sut.AppendEvents(streamName, version, expectedEvents); var actualEvents = sut.ReadEvents(streamName).Result; Assert.Equal(expectedEvents, actualEvents); }
public void DoesNotThrowStreamNotFoundException(string writeStreamName, string readStreamName) { var sut = new InMemoryEventStorage(); var expectedEvents = CreateManyUntypedEventEnvelopes(10); sut.AppendEvents(writeStreamName , 1 , expectedEvents); var actualEvents = sut.ReadEvents(readStreamName).Result; Assert.Equal(expectedEvents, actualEvents); // Assert.ThrowsAsync<InMemoryEventStorage.StreamNotFoundException>(() => // sut.ReadEvents(readStreamName)); }