예제 #1
0
        public async void GetById_OnEmptyRepository_ShouldReturnNull()
        {
            // Arrange
            Mock <IEventStore <Guid, Event <Guid> > >          eventStoreMock = CreateEventStoreMock();
            IEventStore <Guid, Event <Guid> >                  eventStore     = eventStoreMock.Object;
            IEventSourcedRepository <FakeEventAggregate, Guid> repository     =
                new MemoryEventAggregateRepository <FakeEventAggregate>(eventStore);

            // Act
            FakeEventAggregate result = await repository.FindByIdAsync(Guid.NewGuid());

            // Assert
            Assert.Null(result);
        }
예제 #2
0
        public void GetById_OnEmptyRepository_ShouldCallEventStore()
        {
            // Arrange
            Mock <IEventStore <Guid, Event <Guid> > >          eventStoreMock = CreateEventStoreMock();
            IEventStore <Guid, Event <Guid> >                  eventStore     = eventStoreMock.Object;
            IEventSourcedRepository <FakeEventAggregate, Guid> repository     =
                new MemoryEventAggregateRepository <FakeEventAggregate>(eventStore);

            // Act
            repository.FindByIdAsync(Guid.NewGuid());

            // Assert
            eventStoreMock.Verify(m => m.GetEventsById(It.IsAny <Guid>()), Times.Once);
        }
예제 #3
0
        public async void GetById_WithExistingid_ShouldReturnNotNull()
        {
            // Arrange
            Guid eventAggregateId = Guid.NewGuid();
            Mock <IEventStore <Guid, Event <Guid> > >          eventStoreMock = CreateEventStoreMock(eventAggregateId);
            IEventStore <Guid, Event <Guid> >                  eventStore     = eventStoreMock.Object;
            IEventSourcedRepository <FakeEventAggregate, Guid> repository     =
                new MemoryEventAggregateRepository <FakeEventAggregate>(eventStore);

            // Act
            FakeEventAggregate result = await repository.FindByIdAsync(eventAggregateId);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(eventAggregateId, result.EntityId);
        }