유니버CE 초기화 테스트 완료

This commit is contained in:
sheetEasy AI Team
2025-06-24 14:15:09 +09:00
parent d9a198a157
commit ba58aaabf5
19 changed files with 6569 additions and 1561 deletions

View File

@@ -1,5 +1,5 @@
import { describe, it, expect, vi, beforeEach } from "vitest";
import * as XLSX from "xlsx";
import * as XLSX from "xlsx-js-style";
import {
validateFileType,
validateFileSize,
@@ -11,8 +11,8 @@ import {
SUPPORTED_EXTENSIONS,
} from "../fileProcessor";
// SheetJS 모킹 (통합 처리)
vi.mock("xlsx", () => ({
// xlsx-js-style 모킹 (통합 처리)
vi.mock("xlsx-js-style", () => ({
read: vi.fn(() => ({
SheetNames: ["Sheet1"],
Sheets: {
@@ -30,61 +30,80 @@ vi.mock("xlsx", () => ({
["테스트", "한글", "데이터"],
["값1", "값2", "값3"],
]),
decode_range: vi.fn((_ref) => ({
s: { r: 0, c: 0 },
e: { r: 1, c: 2 },
})),
encode_cell: vi.fn(
(cell) => `${String.fromCharCode(65 + cell.c)}${cell.r + 1}`,
),
aoa_to_sheet: vi.fn(() => ({
A1: { v: "테스트" },
B1: { v: "한글" },
C1: { v: "데이터" },
"!ref": "A1:C1",
})),
book_new: vi.fn(() => ({ SheetNames: [], Sheets: {} })),
book_append_sheet: vi.fn(),
},
}));
// LuckyExcel 모킹
vi.mock("luckyexcel", () => ({
transformExcelToLucky: vi.fn((arrayBuffer, fileName, callback) => {
// 성공적인 변환 결과 모킹
const mockResult = {
sheets: [
{
name: "Sheet1",
index: "0",
status: 1,
order: 0,
row: 2,
column: 3,
celldata: [
{
r: 0,
c: 0,
v: { v: "테스트", m: "테스트", ct: { fa: "General", t: "g" } },
},
{
r: 0,
c: 1,
v: { v: "한글", m: "한글", ct: { fa: "General", t: "g" } },
},
{
r: 0,
c: 2,
v: { v: "데이터", m: "데이터", ct: { fa: "General", t: "g" } },
},
{
r: 1,
c: 0,
v: { v: "값1", m: "값1", ct: { fa: "General", t: "g" } },
},
{
r: 1,
c: 1,
v: { v: "값2", m: "값2", ct: { fa: "General", t: "g" } },
},
{
r: 1,
c: 2,
v: { v: "값3", m: "값3", ct: { fa: "General", t: "g" } },
},
],
},
],
};
transformExcelToLucky: vi.fn(
(_arrayBuffer, successCallback, _errorCallback) => {
// 성공적인 변환 결과 모킹
const mockResult = {
sheets: [
{
name: "Sheet1",
index: "0",
status: 1,
order: 0,
row: 2,
column: 3,
celldata: [
{
r: 0,
c: 0,
v: { v: "테스트", m: "테스트", ct: { fa: "General", t: "g" } },
},
{
r: 0,
c: 1,
v: { v: "한글", m: "한글", ct: { fa: "General", t: "g" } },
},
{
r: 0,
c: 2,
v: { v: "데이터", m: "데이터", ct: { fa: "General", t: "g" } },
},
{
r: 1,
c: 0,
v: { v: "값1", m: "값1", ct: { fa: "General", t: "g" } },
},
{
r: 1,
c: 1,
v: { v: "값2", m: "값2", ct: { fa: "General", t: "g" } },
},
{
r: 1,
c: 2,
v: { v: "값3", m: "값3", ct: { fa: "General", t: "g" } },
},
],
},
],
};
// 비동기 콜백 호출
setTimeout(() => callback(mockResult, null), 0);
}),
// 성공 콜백 비동기 호출 (ArrayBuffer 매개변수 대응)
if (typeof successCallback === "function") {
setTimeout(() => successCallback(mockResult, null), 0);
}
},
),
}));
// 파일 생성 도우미 함수