public async Task LoadEvents_restores_all_events_correctly( FakeUserCreated created, FakeUsernameChanged usernameChanged) { // Arrange var events = new DomainEvent[] { created, usernameChanged }; RaiseEvents(userId, events); await sut.SaveEvents <FakeUser>(events); // Act IEnumerable <IDomainEvent> actual = await sut.LoadEvents <FakeUser>(userId); // Assert actual.ShouldAllBeEquivalentTo(events); }
public async Task LoadEvents_restores_events_after_specified_version_correctly() { // Arrange var userId = Guid.NewGuid(); var created = new FakeUserCreated(); var usernameChanged = new FakeUsernameChanged(); var events = new DomainEvent[] { created, usernameChanged }; events.Raise(userId); var sut = new SqlEventStore( () => new FakeEventStoreDbContext(_dbContextOptions), new JsonMessageSerializer()); await sut.SaveEvents <FakeUser>(events); // Act IEnumerable <IDomainEvent> actual = await sut.LoadEvents <FakeUser>(userId, 1); // Assert actual.ShouldAllBeEquivalentTo(events.Skip(1)); }