Example #1
0
        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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        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);
        }
Example #4
0
        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();
            }
        }
Example #5
0
        /// <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);
        }
Example #6
0
        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);
            }
        }
Example #7
0
        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);
            }
        }