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); }
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); }
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); }