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.

34 lines
955 B

import { describe, expect, it } from "vitest";
import { buildAddressCandidatesCacheHash } from "@/modules/address/candidates-cache";
describe("buildAddressCandidatesCacheHash", () => {
const pickup = {
street: "5678 Distribution Dr",
city: "Dallas",
state: "TX",
zip: "75201",
};
const delivery = {
street: "1234 Warehouse Blvd",
city: "Los Angeles",
state: "CA",
zip: "90001",
};
it("相同地址生成相同 hash", () => {
const a = buildAddressCandidatesCacheHash({ pickup, delivery });
const b = buildAddressCandidatesCacheHash({ pickup, delivery });
expect(a).toBe(b);
expect(a).toMatch(/^[a-f0-9]{32}$/);
});
it("地址变化生成不同 hash", () => {
const a = buildAddressCandidatesCacheHash({ pickup, delivery });
const b = buildAddressCandidatesCacheHash({
pickup: { ...pickup, street: "999 Other St" },
delivery,
});
expect(a).not.toBe(b);
});
});