public async Task <DQTFileTransferDTO> GetDQTFileTransferServiceStatus() { var fileTransfers = await _repository.FindAllAsync(); if (fileTransfers.Any()) { var latestFileTransfer = fileTransfers.OrderByDescending(r => r.LastRun).First(); var successfulFileTransfers = await _repository.FindAsync(r => r.Status == DQTFileTransferStatus.Success.ToString()); var result = new DQTFileTransferDTO() { LastSuccessfulRunDate = null, LastRunDate = latestFileTransfer.LastRun, LastRunStatus = latestFileTransfer.Status, LastRunError = latestFileTransfer.Error }; if (successfulFileTransfers.Any()) { result.LastSuccessfulRunDate = successfulFileTransfers.Max(s => s.LastRun); } return(await Task.FromResult(result)); } return(await Task.FromResult <DQTFileTransferDTO>(null)); }
public async void Returns_NotFoundObjectResult_WhenRequestIsValidAndNoRecordsFound() { DQTFileTransferDTO mockResult = null; _mockAuth.Setup(x => x.AuthorizeRequest(It.IsAny <HttpRequest>())).Returns(true); _dqtFileTransferServiceMock.Setup(x => x.GetDQTFileTransferServiceStatus()).ReturnsAsync(mockResult); var request = CreateMockHttpRequest(); var response = (NotFoundObjectResult)await _qualifiedTeacherStatusService.Run(request.Object); Assert.Equal(404, response.StatusCode); Assert.Equal("No file transfer record(s) found", response.Value); }
public async void Returns_SuccessResponseWithDQTFileTransferRecords_WhenRequestIsValid() { var mockResult = new DQTFileTransferDTO() { LastSuccessfulRunDate = today.AddDays(-1), LastRunDate = today.AddDays(-1), LastRunStatus = DQTFileTransferStatus.Success.ToString(), LastRunError = "" }; var request = CreateMockHttpRequest(); var response = (OkObjectResult)await _qualifiedTeacherStatusService.Run(request.Object); var resultDto = (ResultDTO <DQTFileTransferDTO>)response.Value; Assert.Equal(200, response.StatusCode); Assert.Equal(mockResult.LastRunDate, resultDto.Data.LastRunDate); }
public async void Returns_SuccessResponseWithDQTFileTransferRecords_WhenRequestIsValid() { var mockResult = new DQTFileTransferDTO() { LastSuccessfulRunDate = today.AddDays(-1), LastRunDate = today, LastRunStatus = DQTFileTransferStatus.Failure.ToString(), LastRunError = "File not found" }; _mockAuth.Setup(x => x.AuthorizeRequest(It.IsAny <HttpRequest>())).Returns(true); _dqtFileTransferServiceMock.Setup(x => x.GetDQTFileTransferServiceStatus()).ReturnsAsync(mockResult); var request = CreateMockHttpRequest(); var response = (OkObjectResult)await _qualifiedTeacherStatusService.Run(request.Object); var resultDto = (ResultDTO <DQTFileTransferDTO>)response.Value; Assert.Equal(200, response.StatusCode); Assert.Equal(mockResult, resultDto.Data); }
public async void Returns_LastSuccessfulRunDateNull_WhenNoSuccessRunFound() { _repositoryMock .Setup(q => q.FindAllAsync()) .ReturnsAsync(mockFileTransferResults); _repositoryMock .Setup(q => q.FindAsync(r => r.Status == DQTFileTransferStatus.Success.ToString())) .ReturnsAsync(new List <DQTFileTransfer>()); var actualResult = await _dqtFileTransferService.GetDQTFileTransferServiceStatus(); var expectedResult = new DQTFileTransferDTO() { LastSuccessfulRunDate = null, LastRunDate = today, LastRunStatus = DQTFileTransferStatus.Failure.ToString(), LastRunError = "File not found" }; Assert.Equal(actualResult.LastSuccessfulRunDate, expectedResult.LastSuccessfulRunDate); Assert.Equal(actualResult.LastRunDate, expectedResult.LastRunDate); Assert.Equal(actualResult.LastRunStatus, expectedResult.LastRunStatus); }
static ResultDTO <DQTFileTransferDTO> GetResultDto(DQTFileTransferDTO data, string message = null) { return(new ResultDTO <DQTFileTransferDTO>(data, message)); }