public void AddEvent_SameEventTypeWithoutAllowMultiple_AddedOnlyOnceToCollection() { var entity = new TestAggregateRoot(); entity.AddEvent <TestDomainEventOne>(false); entity.AddEvent <TestDomainEventTwo>(false); entity.AddEvent <TestDomainEventOne>(false); entity.DomainEvents.Count().Should().Be(2); }
public void ClearMessages_WithSomePendingMessages_MessagesCleared() { var entity = new TestAggregateRoot(); entity.AddEvent <TestDomainEventOne>(); entity.AddEvent <TestDomainEventTwo>(); entity.AddEvent <TestDomainEventOne>(); entity.ClearMessages(); entity.DomainEvents.Should().NotBeNull(); entity.DomainEvents.Should().BeEmpty(); }
public void AddEvent_EventType_AddedToCollection() { var entity = new TestAggregateRoot(); entity.AddEvent <TestDomainEventOne>(); entity.AddEvent <TestDomainEventTwo>(); entity.AddEvent <TestDomainEventOne>(); entity.DomainEvents.Should().NotBeNull(); entity.DomainEvents.Count().Should().Be(3); entity.DomainEvents.Should().OnlyContain(e => e.Source == entity); }
public void AddEvent_EventInstance_AddedToCollection() { var entity = new TestAggregateRoot(); entity.AddEvent(new TestDomainEventOne()); entity.AddEvent(new TestDomainEventTwo()); entity.AddEvent(new TestDomainEventOne()); entity.DomainEvents.Should().NotBeNull(); entity.DomainEvents.Should().HaveCount(3); entity.DomainEvents.Should().OnlyContain(e => e.Source == entity); }
public async Task SaveChangesAsync_Success_ShouldCallNotifications() { var expCount = 0; var aggregateRoot = new TestAggregateRoot(string.Empty); aggregateRoot.AddEvent(new EventInformation(new AfterSaveETO(), true)); aggregateRoot.AddEvent(new EventInformation(new BeforeSaveETO(), false)); _Context.Add(aggregateRoot); await _Context.SaveChangesAsync(); aggregateRoot.GetEvents().Should().HaveCount(expCount); }