From d52e9d671747c464d0cfd7417527275985ce1be2 Mon Sep 17 00:00:00 2001 From: cabbage16 Date: Tue, 13 Aug 2024 01:19:01 +0900 Subject: [PATCH] =?UTF-8?q?test(#111):=20=EC=9B=90=EC=84=9C=20=EB=8B=A4?= =?UTF-8?q?=EC=9A=B4=EB=A1=9C=EB=93=9C=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20-=20presigned=20url=EB=A1=9C=20=EB=B0=94?= =?UTF-8?q?=EB=80=90=20=ED=8C=8C=EC=9D=BC=20=EC=97=85=EB=A1=9C=EB=93=9C=20?= =?UTF-8?q?=EB=B0=A9=EC=8B=9D=EC=97=90=20=EB=94=B0=EB=9D=BC=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EB=A5=BC=20=EB=B3=80=EA=B2=BD=ED=96=88?= =?UTF-8?q?=EC=96=B4=EC=9A=94.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/ExportFormUseCaseTest.java | 29 +++++++------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/src/test/java/com/bamdoliro/maru/application/form/ExportFormUseCaseTest.java b/src/test/java/com/bamdoliro/maru/application/form/ExportFormUseCaseTest.java index 847a4df4..ee54ef74 100644 --- a/src/test/java/com/bamdoliro/maru/application/form/ExportFormUseCaseTest.java +++ b/src/test/java/com/bamdoliro/maru/application/form/ExportFormUseCaseTest.java @@ -2,14 +2,15 @@ import com.bamdoliro.maru.domain.form.domain.Form; import com.bamdoliro.maru.domain.form.domain.type.FormType; -import com.bamdoliro.maru.domain.form.exception.FormAlreadySubmittedException; import com.bamdoliro.maru.domain.form.service.FormFacade; import com.bamdoliro.maru.domain.user.domain.User; import com.bamdoliro.maru.infrastructure.pdf.GeneratePdfService; import com.bamdoliro.maru.infrastructure.pdf.MergePdfService; import com.bamdoliro.maru.infrastructure.pdf.exception.FailedToExportPdfException; +import com.bamdoliro.maru.infrastructure.s3.FileService; import com.bamdoliro.maru.infrastructure.thymeleaf.ProcessTemplateService; import com.bamdoliro.maru.shared.fixture.FormFixture; +import com.bamdoliro.maru.shared.fixture.SharedFixture; import com.bamdoliro.maru.shared.fixture.UserFixture; import com.itextpdf.kernel.utils.PdfMerger; import org.junit.jupiter.api.Test; @@ -47,6 +48,9 @@ class ExportFormUseCaseTest { @Mock private MergePdfService mergePdfService; + @Mock + private FileService fileService; + @Test void 일반전형_원서를_pdf로_다운받는다() { // given @@ -55,6 +59,7 @@ class ExportFormUseCaseTest { given(formFacade.getForm(user)).willReturn(form); given(processTemplateService.execute(any(String.class), any())).willReturn("html"); given(generatePdfService.execute(any(String.class))).willReturn(new ByteArrayOutputStream()); + given(fileService.getPresignedUrl(any(String.class), any(String.class))).willReturn(SharedFixture.createFormUrlResponse()); willDoNothing().given(mergePdfService).execute(any(PdfMerger.class), any(ByteArrayOutputStream.class)); // when @@ -65,6 +70,7 @@ class ExportFormUseCaseTest { verify(processTemplateService, times(4)).execute(any(String.class), any()); verify(generatePdfService, times(4)).execute(any(String.class)); verify(mergePdfService, times(4)).execute(any(PdfMerger.class), any(ByteArrayOutputStream.class)); + verify(fileService, times(1)).getPresignedUrl(any(String.class), any(String.class)); } @Test @@ -75,6 +81,7 @@ class ExportFormUseCaseTest { given(formFacade.getForm(user)).willReturn(form); given(processTemplateService.execute(any(String.class), any())).willReturn("html"); given(generatePdfService.execute(any(String.class))).willReturn(new ByteArrayOutputStream()); + given(fileService.getPresignedUrl(any(String.class), any(String.class))).willReturn(SharedFixture.createFormUrlResponse()); willDoNothing().given(mergePdfService).execute(any(PdfMerger.class), any(ByteArrayOutputStream.class)); // when @@ -85,23 +92,7 @@ class ExportFormUseCaseTest { verify(processTemplateService, times(5)).execute(any(String.class), any()); verify(generatePdfService, times(5)).execute(any(String.class)); verify(mergePdfService, times(5)).execute(any(PdfMerger.class), any(ByteArrayOutputStream.class)); - } - - @Test - void 원서를_pdf로_다운받을_때_이미_제출한_원서라면_에러가_발생한다() { - // given - User user = UserFixture.createUser(); - Form form = FormFixture.createForm(FormType.REGULAR); - form.submit(); - given(formFacade.getForm(user)).willReturn(form); - - // when and then - assertThrows(FormAlreadySubmittedException.class, () -> exportFormUseCase.execute(user)); - - verify(formFacade, times(1)).getForm(user); - verify(processTemplateService, never()).execute(any(String.class), any()); - verify(generatePdfService, never()).execute(any(String.class)); - verify(mergePdfService, never()).execute(any(PdfMerger.class), any(ByteArrayOutputStream.class)); + verify(fileService, times(1)).getPresignedUrl(any(String.class), any(String.class)); } @Test @@ -111,6 +102,7 @@ class ExportFormUseCaseTest { Form form = FormFixture.createForm(FormType.REGULAR); given(formFacade.getForm(user)).willReturn(form); given(processTemplateService.execute(any(String.class), any())).willReturn("html"); + given(fileService.getPresignedUrl(any(String.class), any(String.class))).willReturn(SharedFixture.createFormUrlResponse()); doThrow(FailedToExportPdfException.class).when(generatePdfService).execute(any(String.class)); // when and then @@ -121,5 +113,6 @@ class ExportFormUseCaseTest { verify(processTemplateService, times(1)).execute(any(String.class), any()); verify(generatePdfService, times(1)).execute(any(String.class)); verify(mergePdfService, never()).execute(any(PdfMerger.class), any(ByteArrayOutputStream.class)); + verify(fileService, times(1)).getPresignedUrl(any(String.class), any(String.class)); } } \ No newline at end of file