public async Task Accept_ShouldCreateAudit() { //Arrange var provider = SetUpHelper.GetServiceProvider(); var scopeFactory = provider.GetService <IServiceScopeFactory>(); IFireForgetEventHandler faf = new FireForgetEventHandler(scopeFactory); IAuditServiceFireForget auditServiceFireForget = new AuditServiceFireForget(faf, null); var repository = provider.GetService <IAuditRepository>(); int?ukPrn = 12345670; //Act auditServiceFireForget.Accept(new ServiceModel.Audit() { Action = 1, Message = "test", Severity = 0, Ukprn = ukPrn, User = "******" }); // Delaying for 2000 milliseconds to allow fire and forget to complete in time before we assert. await Task.Delay(2000); // Assert var result = repository.GetMany(m => m.Ukprn == ukPrn); result.FirstOrDefault().Ukprn.Should().Be(ukPrn); }
public void Accept_ShouldCreateAudit() { // Arrrange var dummyAudit = new ServiceModel.Audit(); var mockLogger = Mock.Of <ILoggerAdapter <AuditServiceFireForget> >(MockBehavior.Strict); Mock.Get(mockLogger) .Setup(l => l.LogError(string.Empty)) .Verifiable(); var mockFireForgetEventHandler = Mock.Of <IFireForgetEventHandler>(MockBehavior.Strict); Mock.Get(mockFireForgetEventHandler) .Setup(m => m.Execute(It.IsAny <Func <IAuditService, Task> >())) .Verifiable(); // Act var auditService = new AuditServiceFireForget(mockFireForgetEventHandler, mockLogger); auditService.Accept(dummyAudit); //Assert Mock.Get(mockFireForgetEventHandler) .Verify(m => m.Execute(It.IsAny <Func <IAuditService, Task> >()), Times.Once); Mock.Get(mockLogger).Verify(m => m.LogError(string.Empty), Times.Never); }