locale-knowledge-base.test.ts 1.67 KB
/**
 * 缺陷 1008905 - 知识库右键菜单翻译Key缺失
 *
 * 验证 KnowledgeBase.open 翻译 key 存在且值正确。
 * 此前该 key 缺失,vue-i18n t() 返回 key 字符串本身,导致菜单显示 "KnowledgeBase.open"。
 */
import { describe, it, expect } from "vitest";
import zhCN from "@/locales/zh-CN";
import enUS from "@/locales/en-US";

describe("KnowledgeBase 右键菜单翻译完整性 (#1008905)", () => {
  describe("zh-CN 翻译", () => {
    it("KnowledgeBase.open 存在且为「打开」", () => {
      expect(zhCN.KnowledgeBase.open).toBe("打开");
    });

    it("KnowledgeBase.edit 存在且为「编辑」", () => {
      expect(zhCN.KnowledgeBase.edit).toBe("编辑");
    });

    it("KnowledgeBase.rename 存在且为「重命名」", () => {
      expect(zhCN.KnowledgeBase.rename).toBe("重命名");
    });

    it("KnowledgeBase.download 存在且为「下载」", () => {
      expect(zhCN.KnowledgeBase.download).toBe("下载");
    });

    it("KnowledgeBase.delete 存在且为「删除」", () => {
      expect(zhCN.KnowledgeBase.delete).toBe("删除");
    });
  });

  describe("en-US 翻译", () => {
    it("KnowledgeBase.open 存在且为 Open", () => {
      expect(enUS.KnowledgeBase.open).toBe("Open");
    });

    it("KnowledgeBase.edit 存在且为 Edit", () => {
      expect(enUS.KnowledgeBase.edit).toBe("Edit");
    });
  });

  describe("翻译 key 不能是空字符串(避免兜底失效)", () => {
    it("zh-CN KnowledgeBase.open 非空", () => {
      expect(zhCN.KnowledgeBase.open).toBeTruthy();
    });

    it("en-US KnowledgeBase.open 非空", () => {
      expect(enUS.KnowledgeBase.open).toBeTruthy();
    });
  });
});