public async Task HydrateAggregate_WhenLoadingFromEventSource_GivenEventListIsNotEmpty() { var savingsAccountCreated = new SavingsAccountCreated(_accountId, _savingsTarget); _eventSourceMock.Setup(x => x.LoadEvents(_accountId)).ReturnsAsync(new List <object> { savingsAccountCreated }); var result = await _sut.GetAggregate <SavingsAccount>(_accountId); result.AccountId.Should().Be(_accountId); result.SavingsTarget.Should().Be(_savingsTarget); }
public async Task SaveUncommittedEvents() { var savingsAccountCreated = new SavingsAccountCreated(_accountId, _savingsTarget); _eventSourceMock.Setup(x => x.LoadEvents(_accountId)).ReturnsAsync(new List <object> { savingsAccountCreated }); var aggregate = await _sut.GetAggregate <SavingsAccount>(_accountId); aggregate.AddSavings(50); var expectedUncommittedEvents = new List <object> { new SavingsAdded(50) }; await _sut.Save(aggregate); _eventSourceMock.Verify(x => x.AppendEvents(_accountId, 1, It.Is <ReadOnlyCollection <object> >(y => VerifyUncommittedEvents(y, expectedUncommittedEvents)))); }
private void Handle(SavingsAccountCreated savingsAccountCreated) { AccountId = savingsAccountCreated.AccountId; SavingsTarget = savingsAccountCreated.SavingsTarget; }