public void ModelFactory_ConvertFrom_FileImportLog_NoFiles_IsConverted() { IModelFactory modelFactory = new ModelFactory(); List <FileImportLogFile> files = new List <FileImportLogFile>(); FileImportLog result = modelFactory.ConvertFrom(TestData.FileImportLogs.First(), files); this.VerifyImportLog(TestData.FileImportLogs.First(), files, result); }
public async Task <IActionResult> GetImportLog([FromRoute] Guid fileImportLogId, [FromQuery] Guid estateId, [FromQuery] Guid?merchantId, CancellationToken cancellationToken) { FileImportLog fileImportLog = await this.Manager.GetFileImportLog(fileImportLogId, estateId, merchantId, cancellationToken); return(this.Ok(this.ModelFactory.ConvertFrom(fileImportLog))); }
public void FileImportLogAggregate_CanBeCreated_IsCreated() { FileImportLogAggregate fileImportLogAggregate = FileImportLogAggregate.Create(TestData.FileImportLogId); FileImportLog fileImportLog = fileImportLogAggregate.GetFileImportLog(); fileImportLog.ShouldNotBeNull(); fileImportLog.FileImportLogId.ShouldBe(TestData.FileImportLogId); }
public void FileImportLogAggregate_CreateImportLog_IsCreated() { FileImportLogAggregate fileImportLogAggregate = FileImportLogAggregate.Create(TestData.FileImportLogId); fileImportLogAggregate.CreateImportLog(TestData.EstateId, TestData.ImportLogDateTime); FileImportLog fileImportLog = fileImportLogAggregate.GetFileImportLog(); fileImportLog.ShouldNotBeNull(); fileImportLog.FileImportLogId.ShouldBe(TestData.FileImportLogId); fileImportLog.EstateId.ShouldBe(TestData.EstateId); fileImportLog.FileImportLogDateTime.ShouldBe(TestData.ImportLogDateTime); }
public void FileImportLogAggregate_AddImportedFile_FileAdded() { FileImportLogAggregate fileImportLogAggregate = FileImportLogAggregate.Create(TestData.FileImportLogId); fileImportLogAggregate.CreateImportLog(TestData.EstateId, TestData.ImportLogDateTime); fileImportLogAggregate.AddImportedFile(TestData.FileId, TestData.MerchantId, TestData.UserId, TestData.FileProfileId, TestData.OriginalFileName, TestData.FilePath, TestData.FileUploadedDateTime); FileImportLog fileImportLog = fileImportLogAggregate.GetFileImportLog(); fileImportLog.ShouldNotBeNull(); fileImportLog.Files.ShouldNotBeNull(); fileImportLog.Files.ShouldNotBeEmpty(); fileImportLog.Files.Any(f => f.FileId == TestData.FileId).ShouldBeTrue(); }
public void FileImportLogAggregate_CreateImportLog_AlreadyCreated_SilentlyHandled() { FileImportLogAggregate fileImportLogAggregate = FileImportLogAggregate.Create(TestData.FileImportLogId); fileImportLogAggregate.CreateImportLog(TestData.EstateId, TestData.ImportLogDateTime); FileImportLog fileImportLog = fileImportLogAggregate.GetFileImportLog(); fileImportLog.ShouldNotBeNull(); fileImportLog.FileImportLogId.ShouldBe(TestData.FileImportLogId); fileImportLog.EstateId.ShouldBe(TestData.EstateId); fileImportLog.FileImportLogDateTime.ShouldBe(TestData.ImportLogDateTime); Should.NotThrow(() => { fileImportLogAggregate.CreateImportLog(TestData.EstateId, TestData.ImportLogDateTime); }); }
/// <summary> /// Gets the file import log. /// </summary> /// <param name="accessToken">The access token.</param> /// <param name="fileImportLogId">The file import log identifier.</param> /// <param name="estateId">The estate identifier.</param> /// <param name="merchantId">The merchant identifier.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> public async Task <FileImportLog> GetFileImportLog(String accessToken, Guid fileImportLogId, Guid estateId, Guid?merchantId, CancellationToken cancellationToken) { FileImportLog response = null; String requestUri = this.BuildRequestUrl($"/api/fileImportLogs/{fileImportLogId}?estateId={estateId}"); 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 <FileImportLog>(content); } catch (Exception ex) { // An exception has occurred, add some additional information to the message Exception exception = new Exception("Error getting file import log.", ex); throw exception; } return(response); }
private void VerifyImportLog(FileImportLog source, FIleProcessor.Models.FileImportLog importLog, Guid?merchantId = null) { importLog.ShouldNotBeNull(); importLog.FileImportLogDateTime.ShouldBe(source.ImportLogDateTime); importLog.Files.Count.ShouldBe(importLog.Files.Count); List <ImportLogFile> filesToVerify = importLog.Files; if (merchantId.HasValue) { filesToVerify = filesToVerify.Where(f => f.MerchantId == merchantId.Value).ToList(); } foreach (ImportLogFile importLogFile in filesToVerify) { var file = importLog.Files.SingleOrDefault(impfile => impfile.FileId == importLogFile.FileId); file.ShouldNotBeNull(); file.MerchantId.ShouldBe(importLogFile.MerchantId); file.FilePath.ShouldBe(importLogFile.FilePath); file.FileProfileId.ShouldBe(importLogFile.FileProfileId); file.OriginalFileName.ShouldBe(importLogFile.OriginalFileName); file.UserId.ShouldBe(importLogFile.UserId); } }