public async Task UpdateLastEmailReminderSentAsync_WithDefaultParameters_Returns404Response() { // Arrange var content = new UpdateLastEmailReminderSentRequest() { Id = 99, ContractNumber = "Levy-0002", ContractVersion = 1 }; // Act var response = await _testClient.PatchAsync("/api/contractReminder", GetStringContent(content)); // Assert response.StatusCode.Should().Be(HttpStatusCode.NotFound); }
public void UpdateLastEmailReminderSentAndLastUpdatedAtAsync_MockHttp() { // Arrange UpdateLastEmailReminderSentRequest request = new UpdateLastEmailReminderSentRequest() { Id = 1, ContractVersion = 1, ContractNumber = "Test1" }; Mock.Get(_contractsDataLogger) .Setup(p => p.LogInformation(It.IsAny <string>(), It.IsAny <object[]>())); _mockHttpMessageHandler.Expect(TestBaseAddress + $"/api/contractReminder").Respond(HttpStatusCode.OK); ContractsDataService contractsDataService = CreateContractsDataService(); //Act Func <Task> act = async() => await contractsDataService.UpdateContractReminderAsync(request); // Assert act.Should().NotThrow(); _mockHttpMessageHandler.VerifyNoOutstandingExpectation(); VerifyAllMocks(); }
public void UpdateLastEmailReminderSentAndLastUpdatedAtAsync_Mock404Http() { // Arrange UpdateLastEmailReminderSentRequest request = new UpdateLastEmailReminderSentRequest() { Id = 1, ContractVersion = 1, ContractNumber = "Test1" }; Mock.Get(_contractsDataLogger) .Setup(p => p.LogInformation(It.IsAny <string>(), It.IsAny <object[]>())); Mock.Get(_contractsDataLogger) .Setup(p => p.LogError(It.IsAny <Exception>(), It.IsAny <string>())); ContractsDataService contractsDataService = CreateContractsDataService(); //Act Func <Task> act = async() => await contractsDataService.UpdateContractReminderAsync(request); // Assert act.Should().Throw <ApiGeneralException>().Where(e => e.ResponseStatusCode == HttpStatusCode.NotFound); _mockHttpMessageHandler.VerifyNoOutstandingExpectation(); VerifyAllMocks(); }
/// <inheritdoc/> public async Task UpdateContractReminderAsync(UpdateLastEmailReminderSentRequest request) { _logger.LogInformation($"Updating LastEmailReminderSent and LastUpdatedAt."); await Patch($"/api/contractReminder", request); }
public async Task UpdateLastEmailReminderSentAndLastUpdatedAtAsync_ReturnsExpectedResult_Test() { //Arrange SetMapperHelper(); string baseUrl = $"https://localhost:5001"; const string contractNumber = "main-000"; const string title = "Test Title"; int x = 0; var working = new List <DataModels.Contract> { new DataModels.Contract { Id = 1, Title = title, ContractNumber = string.Empty, ContractVersion = 1, Ukprn = 12345678, LastEmailReminderSent = null } }; var request = new UpdateLastEmailReminderSentRequest() { Id = 1, ContractNumber = "main-0001", ContractVersion = 1 }; foreach (var item in working) { item.ContractNumber = $"{contractNumber}{x}"; item.Ukprn += x; item.LastEmailReminderSent = null; x += 1; } ILoggerAdapter <ContractService> logger = new LoggerAdapter <ContractService>(new Logger <ContractService>(new LoggerFactory())); ILoggerAdapter <ContractRepository> loggerRepo = new LoggerAdapter <ContractRepository>(new Logger <ContractRepository>(new LoggerFactory())); MockAuditService(); var inMemPdsDbContext = HelperExtensions.GetInMemoryPdsDbContext(); var repo = new Repository <DataModels.Contract>(inMemPdsDbContext); var work = new SingleUnitOfWorkForRepositories(inMemPdsDbContext); var contractRepo = new ContractRepository(repo, work, loggerRepo); var uriService = new UriService(baseUrl); var asposeDocumentManagementContractService = GetDocumentService(); var contractValidationService = GetContractValidationService(); var mediator = BuildMediator(); var contractDocumentService = BuildContractDocumentService(); var service = new ContractService(contractRepo, _mapper, uriService, logger, _mockAuditService.Object, _semaphoreOnEntity, asposeDocumentManagementContractService, contractValidationService, mediator, contractDocumentService); foreach (var item in working) { await repo.AddAsync(item); } await work.CommitAsync(); //Act var beforeUpdate = await contractRepo.GetAsync(request.Id); // assigning to a new variable before this is an in memory db so the // LastEmailReminderSent was being populated. var actualBeforeUpdate = new DataModels.Contract() { Id = beforeUpdate.Id, Title = beforeUpdate.Title, ContractNumber = beforeUpdate.ContractNumber, ContractVersion = beforeUpdate.ContractVersion, Ukprn = beforeUpdate.Ukprn, LastEmailReminderSent = beforeUpdate.LastEmailReminderSent }; var contract = await service.UpdateLastEmailReminderSentAndLastUpdatedAtAsync(request); var afterUpdate = await contractRepo.GetAsync(request.Id); //Assert contract.Should().NotBeNull(); actualBeforeUpdate.LastEmailReminderSent.Should().BeNull(); afterUpdate.LastEmailReminderSent.Should().NotBeNull(); afterUpdate.LastUpdatedAt.Should().BeExactly(afterUpdate.LastEmailReminderSent.Value.TimeOfDay); }
/// <inheritdoc/> public async Task <Contract> UpdateLastEmailReminderSentAndLastUpdatedAtAsync(UpdateLastEmailReminderSentRequest request) { var contract = await _repository.UpdateLastEmailReminderSentAndLastUpdatedAtAsync(request.Id); return(_mapper.Map <Models.Contract>(contract)); }