public Load ( System.Guid aggregateId ) : IEnumerable | ||
aggregateId | System.Guid | |
return | IEnumerable |
public void GivenEmptyEventStore_WhenLoadingEvents_ThenNothingShouldBeReturned() { // Arrange IEventStore store = new InMemoryEventStore(); // Act IEnumerable<object> events = store.Load(Guid.NewGuid()); // Assert CollectionAssert.IsEmpty(events); }
public void GivenEventStorePopulatedWithEventsForMultipleAggregates_WhenLoadingEventsForAnAggregate_ThenShouldReturnEventsForThatAggregate() { // Arrange IEventStore store = new InMemoryEventStore(); var user1 = new User(); user1.Register(); user1.ChangePassword("user1pwd1"); user1.ChangePassword("user1pwd2"); var user2 = new User(); user2.Register(); user2.ChangePassword("user2pwd1"); user2.ChangePassword("user2pwd2"); store.Store(user1.Id, user1.GetUncommittedEvents()); store.Store(user2.Id, user2.GetUncommittedEvents()); // Act IEnumerable<object> eventsForUser1 = store.Load(user1.Id); // Assert CollectionAssert.AreEqual(user1.GetUncommittedEvents(), eventsForUser1, "Store didn't return user1's events properly."); }
public void GivenEventStorePopulatedWithManyEventsForAnAggregate_WhenLoadingForSpecificVersion_ThenShouldOnlyLoadEventsUpToAndIncludingThatVersion() { // Arrange IEventStore store = new InMemoryEventStore(); var id = Guid.NewGuid(); var allEvents = new object[] { new UserRegistered(id), // v1 new UserChangedPassword("pwd1"), // v2 new UserChangedPassword("pwd2"), // v3 new UserChangedPassword("pwd3"), // v4 new UserChangedPassword("pwd4"), // v5 }; store.Store(id, allEvents); // Act IEnumerable<object> version3 = store.Load(id, ((Event)allEvents[2]).Version); // Assert CollectionAssert.AreEqual(allEvents.Take(3), version3); }