You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import { describe, expect, it } from "vitest";
import {
MS_DETAILS_FIELD_TIPS,
MS_DETAILS_FIELD_TIPS_EN,
} from "@/lib/mothership/ms-details-field-tips";
import { MS_PIECE_COUNT_TYPES } from "@/components/mothership/mothership-logged-in-shipment-form";
describe("ms-details-field-tips", () => {
it("中文 tip 覆盖二级 ⓘ 字段且无官网品牌词", () => {
expect(MS_DETAILS_FIELD_TIPS.cargoType).toMatch(/件(Piece)/);
expect(MS_DETAILS_FIELD_TIPS.pieceCountType).toMatch(/包装类型/);
expect(MS_DETAILS_FIELD_TIPS.nmfc).toMatch(/改费|调整运费/);
expect(MS_DETAILS_FIELD_TIPS.freightClass).toMatch(/运费等级/);
expect(MS_DETAILS_FIELD_TIPS.reference).toMatch(/采购单|参考号/);
expect(MS_DETAILS_FIELD_TIPS.accessorials).toMatch(/附加费/);
expect(MS_DETAILS_FIELD_TIPS.freightReady).toMatch(/周六|周日/);
for (const zh of Object.values(MS_DETAILS_FIELD_TIPS)) {
expect(zh).not.toMatch(/MotherShip|Mothership/i);
}
});
it("英文原文与官网截图一致(货物类型 / 件数类型 / NMFC)", () => {
expect(MS_DETAILS_FIELD_TIPS_EN.cargoType).toBe(
"Select how you are shipping your cargo. Loose item has been renamed to Piece.",
);
expect(MS_DETAILS_FIELD_TIPS_EN.pieceCountType).toBe(
"Select the packaging type of your cargo contents. This is usually different than your cargo type.",
);
expect(MS_DETAILS_FIELD_TIPS_EN.nmfc).toBe(
"Add this code to mitigate potential carrier adjustment charges.",
);
expect(MS_DETAILS_FIELD_TIPS_EN.accessorials).toBe(
"Select services to avoid accessorial fees.",
);
});
it("件数类型选项十余项且含 Pieces/Cartons", () => {
expect(MS_PIECE_COUNT_TYPES.length).toBeGreaterThanOrEqual(15);
expect(MS_PIECE_COUNT_TYPES.map((t) => t.id)).toEqual(
expect.arrayContaining(["Pieces", "Cartons", "Units", "Boxes", "Drums"]),
);
});
});