유니버CE 초기화 테스트 완료
This commit is contained in:
@@ -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);
|
||||
}
|
||||
},
|
||||
),
|
||||
}));
|
||||
|
||||
// 파일 생성 도우미 함수
|
||||
|
||||
Reference in New Issue
Block a user