public async Task Upload_Appeal_File_Adds_Uploaded_File_To_Application() { var request = new UploadAppealFileRequest { ApplicationId = AutoFixture.Create <Guid>(), File = GenerateFile(), UserId = AutoFixture.Create <string>(), UserName = AutoFixture.Create <string>() }; _mediator.Setup(x => x.Send(It.IsAny <UploadAppealFileCommand>(), It.IsAny <CancellationToken>())).ReturnsAsync(Unit.Value); var result = await _controller.UploadAppealFile(request); result.Should().BeOfType <OkResult>(); string expectedFileData; using (var reader = new StreamReader(request.File.OpenReadStream())) { expectedFileData = await reader.ReadToEndAsync(); } _mediator.Verify(x => x.Send(It.Is <UploadAppealFileCommand>(c => c.ApplicationId == request.ApplicationId && c.UserId == request.UserId && c.UserName == request.UserName && c.File.Filename == request.File.FileName && Encoding.UTF8.GetString(c.File.Data) == expectedFileData), It.IsAny <CancellationToken>()), Times.Once); }
public async Task <IActionResult> UploadAppealFile([FromForm] UploadAppealFileRequest request) { if (request.AppealFile is null) { return(BadRequest()); } var fileCollection = new FormFileCollection { request.AppealFile }; var uploadedSuccessfully = await _fileStorageService.UploadApplicationFiles(request.ApplicationId, fileCollection, ContainerType.Appeals, new CancellationToken()); if (!uploadedSuccessfully) { _logger.LogError($"Unable to upload appeal file for application: {request.ApplicationId}"); return(BadRequest()); } var command = new UploadAppealFileCommand { ApplicationId = request.ApplicationId, AppealFile = await request.AppealFile.ToFileUpload(), UserId = request.UserId, UserName = request.UserName }; await _mediator.Send(command); return(new OkResult()); }
public async Task UploadAppealFile(Guid applicationId, IFormFile file, string userId, string userName) { var request = new UploadAppealFileRequest { ApplicationId = applicationId, UserId = userId, UserName = userName, File = file }; await _applyApiClient.UploadAppealFile(applicationId, request); }
public async Task <IActionResult> UploadAppealFile([FromForm] UploadAppealFileRequest request) { var command = new UploadAppealFileCommand { ApplicationId = request.ApplicationId, File = await request.File.ToFileUpload(), UserId = request.UserId, UserName = request.UserName }; await _mediator.Send(command); return(new OkResult()); }
public async Task UploadAppealFile(Guid applicationId, UploadAppealFileRequest request) { await PostMultipartAsync($"/Oversight/{applicationId}/uploads", request); }