public async Task LoadEvents_restores_domain_events_correctly() { // Arrange var created = fixture.Create <FakeUserCreated>(); var usernameChanged = fixture.Create <FakeUsernameChanged>(); 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.Should().BeInAscendingOrder(e => e.Version); actual.ShouldAllBeEquivalentTo(events); }
public async Task LoadEvents_restores_domain_events_correctly() { // Arrange var fixture = new Fixture(); var user = new FakeUser(Guid.NewGuid(), fixture.Create <string>()); user.ChangeUsername(fixture.Create <string>()); IList <IDomainEvent> domainEvents = user.FlushPendingEvents().ToList(); await _sut.SaveEvents <FakeUser>(domainEvents); // Act IEnumerable <IDomainEvent> actual = await _sut.LoadEvents <FakeUser>(user.Id); // Assert actual.Should().BeInAscendingOrder(e => e.Version); actual.ShouldAllBeEquivalentTo(domainEvents); }