shinnosuke
2026-08-20 40dd0e9898bf2a88e51d497c46d826ea8f7326f4
talent-card-server/src/test/java/com/talentcard/server/upload/ImageUploadServiceTests.java
@@ -40,4 +40,27 @@
            .isInstanceOf(BusinessException.class)
            .hasMessageContaining("Only JPG, PNG, and WEBP");
   }
   @Test
   void savesPdfWithGeneratedFilename() throws Exception {
      ImageUploadService service = new ImageUploadService(temporaryDirectory);
      MockMultipartFile pdf = new MockMultipartFile("file", "window.pdf", "application/pdf", "%PDF-1.7".getBytes());
      ImageUploadResult result = service.uploadPdf(pdf);
      assertThat(result.url()).matches("/uploads/[0-9a-f-]+\\.pdf");
      try (Stream<Path> files = Files.list(temporaryDirectory)) {
         assertThat(files).hasSize(1);
      }
   }
   @Test
   void rejectsNonPdfUploads() {
      ImageUploadService service = new ImageUploadService(temporaryDirectory);
      MockMultipartFile image = new MockMultipartFile("file", "window.pdf", "application/pdf", "not a pdf".getBytes());
      assertThatThrownBy(() -> service.uploadPdf(image))
            .isInstanceOf(BusinessException.class)
            .hasMessageContaining("仅支持 PDF");
   }
}