public async Task RetrieveEventLogsPendingToPublishAsync_EventLogsFound_ReturnOrderedEventLogs( [Frozen] Mock <AWContext> mockContext ) { //Arrange var entries = new List <IntegrationEventLogEntry> { new IntegrationEventLogEntry( new TestIntegrationEvent(), Guid.NewGuid() ) }; var mockSet = entries.AsQueryable().BuildMockDbSet(); mockContext.Setup(x => x.Set <IntegrationEventLogEntry>()) .Returns(mockSet.Object); var sut = new IntegrationEventLogService( mockContext.Object, typeof(IntegrationEventLogServiceUnitTests).Assembly ); //Act var guid = Guid.Parse(entries[0].TransactionId); var eventLogs = await sut.RetrieveEventLogsPendingToPublishAsync(guid); //Assert eventLogs.Count().Should().Be(1); }
public ProductIntegrationEventService( IBusControl eventBus, SalesDbContext salesContext, Func <DbConnection, IntegrationEventLogService> integrationEventLogServiceFactory) { _salesContext = salesContext ?? throw new ArgumentNullException(nameof(salesContext)); _integrationEventLogServiceFactory = integrationEventLogServiceFactory ?? throw new ArgumentNullException(nameof(integrationEventLogServiceFactory)); _eventBus = eventBus ?? throw new ArgumentNullException(nameof(eventBus)); _eventLogService = _integrationEventLogServiceFactory(salesContext.Database.GetDbConnection()); }
public IntegrationEventLogServiceFixture() { ContextOptions = new DbContextOptionsBuilder <OperationalDbContext>() .UseInMemoryDatabase("ExpensesDb").Options; OperationalDbContext = new OperationalDbContext(ContextOptions); OperationalDbContext.Database.EnsureDeleted(); OperationalDbContext.Database.EnsureCreated(); EventLogService = new IntegrationEventLogService( OperationalDbContext, () => new List <Type> { typeof(FakeIntegrationEvent) }); }