public void Execute_WhenValidInputTo_ShouldRespondWithPdfContentType() { //---------------Arrange------------------- var input = new RenderWordInput { JsonModel = "{}", ReportName = "Test.docx", TemplateName = "Test" }; var reportResult = new RenderedDocumentOutput { Base64String = "", ContentType = ContentTypes.Word }; var pdfResult = new RenderedDocumentOutput { Base64String = "", ContentType = ContentTypes.Pdf }; var presenter = new PropertyPresenter <IFileOutput, ErrorOutput>(); var reportGateway = Create_Report_Gateway(reportResult); var pdfGateway = Create_Pdf_Gateway(pdfResult); var wordUsecase = new RenderWordUseCase(reportGateway); var pdfUsecase = new RenderWordToPdfUseCase(pdfGateway); var sut = new RenderAsWordThenPdfUseCase(wordUsecase, pdfUsecase); //---------------Act----------------------- sut.Execute(input, presenter); //---------------Assert-------------------- Assert.Equal("application/pdf", presenter.SuccessContent.ContentType); }
public void Execute_WhenRenderErrors_ShouldRespondWithErrors() { //---------------Arrange------------------- var gatewayResult = new RenderedDocumentOutput { ErrorMessages = new List <string> { "error" } }; var gateway = Create_Report_Gateway(gatewayResult); var input = new RenderWordInput { JsonModel = "", ReportName = "Test.docx", TemplateName = "Test" }; var presenter = new PropertyPresenter <IFileOutput, ErrorOutput>(); var usecase = new RenderWordUseCase(gateway); //---------------Act---------------------- usecase.Execute(input, presenter); //---------------Assert----------------------- Assert.True(presenter.IsErrorResponse()); }
public void Execute_WhenValidInputTo_ShouldRespondWithWordContentType() { //---------------Arrange------------------- var gatewayResult = new RenderedDocumentOutput { Base64String = "eA==" }; var gateway = Create_Report_Gateway(gatewayResult); var input = new RenderWordInput { JsonModel = "", ReportName = "Test.docx", TemplateName = "Test" }; var presenter = new PropertyPresenter <IFileOutput, ErrorOutput>(); var usecase = new RenderWordUseCase(gateway); //---------------Act---------------------- usecase.Execute(input, presenter); //---------------Assert----------------------- var expected = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; Assert.Equal(expected, presenter.SuccessContent.ContentType); }