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.
50 lines
1.4 KiB
50 lines
1.4 KiB
import { describe, expect, it } from "vitest";
|
|
import {
|
|
diffAxelTraces,
|
|
normalizeAxelSequence,
|
|
type AxelTraceEvent,
|
|
} from "../../../scripts/lib/axel-event-tracer";
|
|
|
|
describe("axel-event-tracer", () => {
|
|
it("diff 识别 RPA 缺失 place commit", () => {
|
|
const manual: AxelTraceEvent[] = [
|
|
{
|
|
at: 1,
|
|
phase: "manual-pickup",
|
|
method: "POST",
|
|
url: "https://services.mothership.com/axel/location/search",
|
|
status: 200,
|
|
kind: "search",
|
|
searchPlaceIds: ["ChIJ_manual"],
|
|
},
|
|
{
|
|
at: 2,
|
|
phase: "manual-pickup",
|
|
method: "GET",
|
|
url: "https://services.mothership.com/axel/location/place/ChIJ_manual",
|
|
status: 200,
|
|
kind: "place",
|
|
placeId: "ChIJ_manual",
|
|
},
|
|
];
|
|
const rpa: AxelTraceEvent[] = [
|
|
{
|
|
at: 1,
|
|
phase: "rpa-fillAddress",
|
|
method: "POST",
|
|
url: "https://services.mothership.com/axel/location/search",
|
|
status: 200,
|
|
kind: "search",
|
|
searchPlaceIds: ["ChIJ_manual"],
|
|
},
|
|
];
|
|
const diff = diffAxelTraces(manual, rpa);
|
|
expect(diff.verdict).toBe("RPA_MISSING_PLACE_COMMIT");
|
|
expect(diff.manualPlaceCommits).toEqual(["ChIJ_manual"]);
|
|
expect(diff.rpaPlaceCommits).toEqual([]);
|
|
expect(normalizeAxelSequence(manual).some((l) => l.includes("GET place/ChIJ_manual"))).toBe(
|
|
true,
|
|
);
|
|
});
|
|
});
|