이미지 파일 업로드 기능
CI / test (push) Failing after 10m34s
CI / pr_and_merge (push) Has been cancelled

This commit is contained in:
2025-11-23 19:07:41 +09:00
parent 8ea8a186a0
commit 7a8ad7c057
77 changed files with 3206 additions and 124 deletions
+38
View File
@@ -19,6 +19,8 @@ import type {
DividerBlockProps,
ImageBlockProps,
SectionBlockProps,
ListLine,
ButtonBlockProps,
} from "@/features/editor/state/editorStore";
// 에디터 상태 스토어에 대한 첫 TDD: 텍스트 블록 추가
@@ -1188,4 +1190,40 @@ describe("editorStore", () => {
expect(updatedFormProps.fieldIds).toEqual(fieldIds);
expect(updatedFormProps.submitButtonId).toBe(submitButtonId);
});
it("projectConfig 기본값과 updateProjectConfig 액션으로 프로젝트 설정을 관리할 수 있어야 한다", () => {
const store = createEditorStore();
const stateAny = store.getState() as any;
expect(stateAny.projectConfig).toBeTruthy();
expect(stateAny.projectConfig.title).toBe("새 페이지");
expect(stateAny.projectConfig.slug).toBe("my-landing");
expect(stateAny.projectConfig.canvasPreset).toBe("full");
expect(stateAny.projectConfig.canvasBgColorHex).toBe("#020617");
expect(stateAny.projectConfig.bodyBgColorHex).toBe("#020617");
expect(stateAny.projectConfig.headHtml).toBe("");
expect(stateAny.projectConfig.trackingScript).toBe("");
stateAny.updateProjectConfig({
title: "랜딩 페이지",
slug: "landing-page",
canvasPreset: "desktop",
bodyBgColorHex: "#111111",
});
const next = store.getState() as any;
expect(next.projectConfig.title).toBe("랜딩 페이지");
expect(next.projectConfig.slug).toBe("landing-page");
expect(next.projectConfig.canvasPreset).toBe("desktop");
expect(next.projectConfig.bodyBgColorHex).toBe("#111111");
stateAny.updateProjectConfig({
canvasPreset: "custom",
canvasWidthPx: 1024,
});
const custom = store.getState() as any;
expect(custom.projectConfig.canvasPreset).toBe("custom");
expect(custom.projectConfig.canvasWidthPx).toBe(1024);
});
});