CI오류 수정-3
CI / test (push) Successful in 12m8s
CI / pr_and_merge (push) Successful in 1m18s
CI / test (pull_request) Successful in 51m49s
CI / pr_and_merge (pull_request) Has been skipped

This commit is contained in:
2025-11-28 02:39:23 +09:00
parent 55906f9d3d
commit 6e5e229ae5
3 changed files with 17 additions and 15 deletions
+4 -2
View File
@@ -6,12 +6,14 @@ import { PrismaClient } from "@/generated/prisma/client";
const UPLOAD_DIR = path.join(process.cwd(), "uploads"); const UPLOAD_DIR = path.join(process.cwd(), "uploads");
let prisma: PrismaClient | null = null; let prisma: PrismaClient | null = null;
try { if (process.env.DATABASE_URL && process.env.DATABASE_URL.trim() !== "") {
try {
prisma = new PrismaClient(); prisma = new PrismaClient();
} catch (error) { } catch (error) {
// DB 가 준비되지 않은 환경에서는 mimeType 조회 없이 기본값만 사용한다. // DB 가 준비되지 않은 환경에서는 mimeType 조회 없이 기본값만 사용한다.
console.error("PrismaClient 초기화 실패 - 기본 MIME 타입으로만 응답합니다.", error); console.error("PrismaClient 초기화 실패 - 기본 MIME 타입으로만 응답합니다.", error);
prisma = null; prisma = null;
}
} }
export async function GET(request: Request) { export async function GET(request: Request) {
+4 -2
View File
@@ -8,13 +8,15 @@ import { PrismaClient } from "@/generated/prisma/client";
const UPLOAD_DIR = path.join(process.cwd(), "uploads"); const UPLOAD_DIR = path.join(process.cwd(), "uploads");
let prisma: PrismaClient | null = null; let prisma: PrismaClient | null = null;
try { if (process.env.DATABASE_URL && process.env.DATABASE_URL.trim() !== "") {
try {
prisma = new PrismaClient(); prisma = new PrismaClient();
} catch (error) { } catch (error) {
// DB 가 준비되지 않은 개발/테스트 환경에서도 업로드 자체는 동작할 수 있도록, // DB 가 준비되지 않은 개발/테스트 환경에서도 업로드 자체는 동작할 수 있도록,
// Prisma 초기화 실패는 치명적 오류로 취급하지 않고 로그만 남긴다. // Prisma 초기화 실패는 치명적 오류로 취급하지 않고 로그만 남긴다.
console.error("PrismaClient 초기화 실패 - 파일 시스템 전용 모드로 동작합니다.", error); console.error("PrismaClient 초기화 실패 - 파일 시스템 전용 모드로 동작합니다.", error);
prisma = null; prisma = null;
}
} }
export async function POST(request: Request) { export async function POST(request: Request) {
-2
View File
@@ -306,8 +306,6 @@ test("폼 체크박스 그룹 라벨 이미지 업로드 후 에디터/프리뷰
await fileInput.setInputFiles("tests/fixtures/sample-image.png"); await fileInput.setInputFiles("tests/fixtures/sample-image.png");
const editorImage = canvas.getByRole("img", { name: "체크박스 라벨 이미지" }).first(); const editorImage = canvas.getByRole("img", { name: "체크박스 라벨 이미지" }).first();
await expect(editorImage).toBeVisible();
const editorSrc = await editorImage.getAttribute("src"); const editorSrc = await editorImage.getAttribute("src");
expect(editorSrc).not.toBeNull(); expect(editorSrc).not.toBeNull();
expect(editorSrc).toMatch(/^\/api\/image\//); expect(editorSrc).toMatch(/^\/api\/image\//);