public async Task Upload_Uses_RepositoryUpload_With_File() { var pdfFile = new PdfFileDto { FileContent = "JVBERgo=", FileName = "my.pdf" }; var decoded = Convert.FromBase64String(pdfFile.FileContent); var mock = new Mock <IDecodeValidateService>(); var repositoryMock = new Mock <IPdfFileRepository>(); mock.Setup(f => f.DecodeValidate(pdfFile.FileContent)).Returns(new Domain.Entities.DecodeValidateResponse { IsValidPdf = true, Decoded = decoded }); var response = await CreateSut(pdfFileRepository : repositoryMock.Object, decodeValidateService : mock.Object).Upload(pdfFile); (response.Result as ObjectResult).StatusCode.ShouldBe(StatusCodes.Status201Created); mock.Verify(m => m.DecodeValidate(pdfFile.FileContent), Times.Once()); repositoryMock.Verify(m => m.UploadPdfFile(pdfFile.FileName, decoded), Times.Once()); }
public void Transform_Returns_The_Instance_Of_PdfFileDto_Returned_By_PdfFileTransformer() { var pdfFileTransformer = Mock.Of <ITransformer <PdfFile, PdfFileDto> >(); var pdfFileDto = new PdfFileDto(); Mock.Get(pdfFileTransformer) .Setup(q => q.Transform(It.IsAny <PdfFile>())) .Returns(pdfFileDto); var result = CreateSut(pdfFileTransformer).Transform(new PdfFile()); result.ShouldBeSameAs(pdfFileDto); }
public async Task <ActionResult <object> > Upload([FromBody] PdfFileDto pdfFile) { //TODO validation service try { var response = _decodeValidateService.DecodeValidate(pdfFile.FileContent); if (response.IsValidPdf) { await _pdfFileRepository.UploadPdfFile(pdfFile.FileName, response.Decoded); } return((response.IsValidPdf) ? StatusCode(StatusCodes.Status201Created, ""): StatusCode(StatusCodes.Status400BadRequest, response.ValidationError)); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } }
public void Transform_Returns_The_Instance_Of_GameDto_With_Player_Returned_By_PlayerTransformer() { var source = new FileList(); var pdfFiles = new List <PdfFile>(); var pdfFile = new PdfFile(); pdfFiles.Add(pdfFile); source.PdfFiles = pdfFiles; var pdfFileTransformer = Mock.Of <ITransformer <PdfFile, PdfFileDto> >(); var pdfFileDto = new PdfFileDto(); Mock.Get(pdfFileTransformer) .Setup(q => q.Transform(It.IsAny <PdfFile>())) .Returns(pdfFileDto); var result = CreateSut(pdfFileTransformer).Transform(source); result.PdfFiles.FirstOrDefault <PdfFileDto>().ShouldBeSameAs(pdfFileDto); }
public async Task GetFile_Returns_Ok_With_File() { var location = Guid.NewGuid(); var pdfFile = new PdfFile(); var pdfFileDto = new PdfFileDto(); var repositoryMock = new Mock <IPdfFileRepository>(); var transformerMock = new Mock <IPdfFileTransformerService>(); repositoryMock.Setup(m => m.GetPdfFile(It.IsAny <Guid>())).ReturnsAsync(pdfFile); transformerMock.Setup(m => m.Transform(pdfFile)).Returns(pdfFileDto); var response = await CreateSut(pdfFileRepository : repositoryMock.Object, pdfFileTransformerService : transformerMock.Object).GetFile(location); repositoryMock.Verify(m => m.GetPdfFile(location), Times.Once); transformerMock.Verify(m => m.Transform(pdfFile), Times.Once); response.Result.ShouldBeOfType(typeof(OkObjectResult)); var okObjectResult = response.Result as OkObjectResult; okObjectResult.Value.ShouldBeSameAs(pdfFileDto); }