import { describe, expect, it } from "vitest"; import { fallbackData, getSubmitErrorMessage, normalizeSiteConfig } from "@/lib/data"; import type { PublicSiteConfig } from "@/lib/types"; describe("WonderQ shared data helpers", () => { it("uses local defaults when the site configuration is empty", () => { expect(normalizeSiteConfig({}, fallbackData)).toEqual(fallbackData); }); it("normalizes the supported home modules and keeps the local vehicle fallback", () => { const config: PublicSiteConfig = { heroSlides: [ { id: "hero-1", title: "后台首页主视觉", kicker: "后台小标题", image: "https://cdn.example.test/hero.jpg", isActive: true, sortOrder: 0, }, ], vehicleOptions: [ { id: "vehicle-1", title: "舒适型用车", description: "适合家庭出行", image: "https://cdn.example.test/vehicle.jpg", isActive: true, sortOrder: 0, }, ], }; const data = normalizeSiteConfig(config, fallbackData); expect(data.heroSlides).toMatchObject([ { id: "hero-1", title: "后台首页主视觉", image: "https://cdn.example.test/hero.jpg", }, ]); expect(data.vehicleOptions).toMatchObject([ { id: "vehicle-1", title: "舒适型用车", description: "适合家庭出行", }, ]); expect(data.vehicleService.introTitle).toBe("旅游出行专属用车服务"); }); it("returns a stable submit error message", () => { expect(getSubmitErrorMessage(new Error("网络异常"))).toBe("网络异常"); expect(getSubmitErrorMessage("unknown")).toBe("提交失败,请稍后再试。"); }); });