Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }