public void When_calling_Save_it_will_add_the_domain_events_to_the_domain_event_storage() { _ledgers = new List <Ledger> { new CreditMutation(1, new AccountNumber("0987654321")), new DebitMutation(1, new AccountNumber("0987654321")), new CreditTransfer(1, new AccountNumber("0987654321")), new DebitTransfer(1, new AccountNumber("0987654321")), new DebitTransferFailed(1, new AccountNumber("0987654321")), }; var closedAccount = ClosedAccount.CreateNew(Guid.NewGuid(), Guid.NewGuid(), _ledgers, new AccountName("AccountName"), new AccountNumber("1234567890")); _repository.Add(closedAccount); _eventStoreUnitOfWork.Commit(); Assert.That(_domainEventStorage.GetEventsSinceLastSnapShot(closedAccount.Id).Count(), Is.EqualTo(1)); Assert.That(_domainEventStorage.GetAllEvents(closedAccount.Id).Count(), Is.EqualTo(1)); }
public void When_calling_Save_it_will_reset_the_domain_events() { _ledgers = new List <Ledger> { new CreditMutation(1, new AccountNumber("0987654321")), new DebitMutation(1, new AccountNumber("0987654321")), new CreditTransfer(1, new AccountNumber("0987654321")), new DebitTransfer(1, new AccountNumber("0987654321")), new DebitTransferFailed(1, new AccountNumber("0987654321")), }; var closedAccount = ClosedAccount.CreateNew(Guid.NewGuid(), Guid.NewGuid(), _ledgers, new AccountName("AccountName"), new AccountNumber("1234567890")); _repository.Add(closedAccount); _eventStoreUnitOfWork.Commit(); var closedAccountForRepository = (IEventProvider <IDomainEvent>)closedAccount; Assert.That(closedAccountForRepository.GetChanges().Count(), Is.EqualTo(0)); }
public void When_calling_CreateMemento_it_will_return_a_closed_account_memento() { _ledgers = new List <Ledger> { new CreditMutation(1, new AccountNumber("0987654321")), new DebitMutation(1, new AccountNumber("0987654321")), new CreditTransfer(1, new AccountNumber("0987654321")), new DebitTransfer(1, new AccountNumber("0987654321")), new DebitTransferFailed(1, new AccountNumber("0987654321")), }; var closedAccount = ClosedAccount.CreateNew(Guid.NewGuid(), Guid.NewGuid(), _ledgers, new AccountName("AccountName"), new AccountNumber("1234567890")); var memento = ((IOrginator)closedAccount).CreateMemento(); var newClosedAccount = new ClosedAccount(); ((IOrginator)newClosedAccount).SetMemento(memento); ClosedAccountComparer(closedAccount, newClosedAccount); }