public void ModelFactory_ConvertFrom_FileImportLogList_IsConverted() { List <FIleProcessor.Models.FileImportLog> importLogs = TestData.FileImportLogModels; ModelFactory modelFactory = new ModelFactory(); FileImportLogList result = modelFactory.ConvertFrom(importLogs); this.VerifyFileImportLogList(importLogs, result); }
/// <summary> /// Converts from. /// </summary> /// <param name="fileImportLogs">The file import logs.</param> /// <returns></returns> public FileImportLogList ConvertFrom(List <FileImportLog> fileImportLogs) { FileImportLogList result = new FileImportLogList(); result.FileImportLogs = new List <FileImportLogResponse>(); foreach (FileImportLog fileImportLog in fileImportLogs) { result.FileImportLogs.Add(this.ConvertFrom(fileImportLog)); } return(result); }
public void ModelFactory_ConvertFrom_FileImportLogList_WithNoFiles_IsConverted() { List <FIleProcessor.Models.FileImportLog> importLogs = TestData.FileImportLogModels; foreach (FileImportLog fileImportLog in importLogs) { fileImportLog.Files = new List <ImportLogFile>(); } ModelFactory modelFactory = new ModelFactory(); FileImportLogList result = modelFactory.ConvertFrom(importLogs); this.VerifyFileImportLogList(importLogs, result); }
public async Task WhenIGetTheImportLogsBetweenAndTheFollowingDataIsReturned(string estateName, string startDate, string endDate, Table table) { FileImportLogList importLogList = await this.GetFileImportLogList(estateName, startDate, endDate, CancellationToken.None); foreach (TableRow tableRow in table.Rows) { DateTime importLogDateTime = SpecflowTableHelper.GetDateForDateString(SpecflowTableHelper.GetStringRowValue(tableRow, "ImportLogDate"), DateTime.Now); Int32 fileCount = SpecflowTableHelper.GetIntValue(tableRow, "FileCount"); // Find the import log now FileImportLog?importLog = importLogList.FileImportLogs.SingleOrDefault(fil => fil.ImportLogDate == importLogDateTime.Date && fil.FileCount == fileCount); importLog.ShouldNotBeNull(); } }
/// <summary> /// Gets the file import logs. /// </summary> /// <param name="accessToken">The access token.</param> /// <param name="estateId">The estate identifier.</param> /// <param name="startDateTime">The start date time.</param> /// <param name="endDateTime">The end date time.</param> /// <param name="merchantId">The merchant identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> public async Task <FileImportLogList> GetFileImportLogs(String accessToken, Guid estateId, DateTime startDateTime, DateTime endDateTime, Guid?merchantId, CancellationToken cancellationToken) { FileImportLogList response = null; String requestUri = this.BuildRequestUrl($"/api/fileImportLogs?estateId={estateId}&startDateTime={startDateTime.Date:yyyy-MM-dd}&endDateTime={endDateTime.Date:yyyy-MM-dd}"); if (merchantId.HasValue) { requestUri += $"&merchantId={merchantId}"; } try { // Add the access token header this.HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); // Make the Http Call here HttpResponseMessage httpResponse = await this.HttpClient.GetAsync(requestUri, cancellationToken); // Process the response String content = await this.HandleResponse(httpResponse, cancellationToken); // call was successful so now deserialise the body to the response object response = JsonConvert.DeserializeObject <FileImportLogList>(content); } catch (Exception ex) { // An exception has occurred, add some additional information to the message Exception exception = new Exception("Error getting list of file import logs.", ex); throw exception; } return(response); }
public async Task WhenIGetTheImportLogForTheFollowingFileInformationIsReturned(string estateName, string startDate, Table table) { EstateDetails estateDetails = this.TestingContext.GetEstateDetails(estateName); FileImportLogList importLogList = await this.GetFileImportLogList(estateName, startDate, startDate, CancellationToken.None); importLogList.FileImportLogs.ShouldHaveSingleItem(); var fileImportLog = await this.GetFileImportLog(estateName, importLogList.FileImportLogs.Single().FileImportLogId, CancellationToken.None); foreach (TableRow tableRow in table.Rows) { //| MerchantName | OriginalFileName | NumberOfLines | var merchantName = SpecflowTableHelper.GetStringRowValue(tableRow, "MerchantName"); var originalFileName = SpecflowTableHelper.GetStringRowValue(tableRow, "OriginalFileName"); var merchantId = this.TestingContext.GetEstateDetails(estateName).GetMerchantId(merchantName); var file = fileImportLog.Files.SingleOrDefault(f => f.OriginalFileName == originalFileName && f.MerchantId == merchantId); file.ShouldNotBeNull(); estateDetails.AddFileImportLogFile(file); } }
private void VerifyFileImportLogList(List <FIleProcessor.Models.FileImportLog> source, FileImportLogList fileImportLogList) { fileImportLogList.ShouldNotBeNull(); fileImportLogList.FileImportLogs.ShouldNotBeNull(); fileImportLogList.FileImportLogs.Count().ShouldBe(source.Count); foreach (FileImportLog fileImportLog in source) { DataTransferObjects.Responses.FileImportLog?foundFileImportLog = fileImportLogList.FileImportLogs.SingleOrDefault(i => i.FileImportLogId == fileImportLog.FileImportLogId); this.VerifyFileImportLog(fileImportLog, foundFileImportLog); } }