Example #1
0
        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);
        }
Example #2
0
        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))));
        }
Example #3
0
 private void Handle(SavingsAccountCreated savingsAccountCreated)
 {
     AccountId     = savingsAccountCreated.AccountId;
     SavingsTarget = savingsAccountCreated.SavingsTarget;
 }