34 lines
1.5 KiB
TypeScript
34 lines
1.5 KiB
TypeScript
import { describe, it, expect } from "vitest";
|
|
import { getSubmissionsMessages } from "@/features/i18n/messages/submissions";
|
|
import { DEFAULT_LOCALE } from "@/features/i18n/locale";
|
|
|
|
// Submissions i18n 메시지 딕셔너리 TDD
|
|
// - en/ko 각각에서 헤더/테이블 헤더 일부 키가 올바른 문자열을 반환하는지 검증한다.
|
|
// - 지원하지 않는 로케일은 DEFAULT_LOCALE(en) 으로 폴백한다.
|
|
|
|
describe("getSubmissionsMessages", () => {
|
|
it("en 로케일에서는 전체 제출 내역 헤더/테이블 헤더를 영어로 반환해야 한다", () => {
|
|
const t = getSubmissionsMessages("en");
|
|
|
|
expect(t.headerTitle).toBe("All form submissions");
|
|
expect(t.tableHeaderCreatedAt).toBe("Submitted at");
|
|
expect(t.tableHeaderProject).toBe("Project");
|
|
});
|
|
|
|
it("ko 로케일에서는 전체 제출 내역 헤더/테이블 헤더를 한국어로 반환해야 한다", () => {
|
|
const t = getSubmissionsMessages("ko");
|
|
|
|
expect(t.headerTitle).toBe("전체 폼 제출 내역");
|
|
expect(t.tableHeaderCreatedAt).toBe("제출 시각");
|
|
expect(t.tableHeaderProject).toBe("프로젝트");
|
|
});
|
|
|
|
it("지원하지 않는 로케일이면 DEFAULT_LOCALE(en) 메시지를 반환해야 한다", () => {
|
|
const fallback = getSubmissionsMessages(DEFAULT_LOCALE);
|
|
const t = getSubmissionsMessages("fr" as any);
|
|
|
|
expect(t.headerTitle).toBe(fallback.headerTitle);
|
|
expect(t.tableHeaderCreatedAt).toBe(fallback.tableHeaderCreatedAt);
|
|
});
|
|
});
|