Use project-scoped endpoints and run IDs for current project, SCADA metadata, historical time series, migrated DMA results, and sensor placement runs. The regressions recurred because tests mocked pre-interceptor and new-only payload shapes, while history queries relied on implicit global scheme state and unbounded request fan-out. Cover post-interceptor pages, migrated result_rows, explicit run_id routing, multi-element requests, request limits, and cancellation.
37 lines
956 B
TypeScript
37 lines
956 B
TypeScript
import { buildViewHistoryAction } from "./historyToolAction";
|
|
|
|
describe("buildViewHistoryAction", () => {
|
|
it("preserves the scheme run ID from Agent tool parameters", () => {
|
|
expect(
|
|
buildViewHistoryAction({
|
|
feature_infos: [["P-1", "pipe"]],
|
|
data_type: "scheme",
|
|
run_id: " 99dd4142-368b-54cb-bfca-d59ee48f6298 ",
|
|
}),
|
|
).toEqual(
|
|
expect.objectContaining({
|
|
featureInfos: [["P-1", "pipe"]],
|
|
dataType: "scheme",
|
|
runId: "99dd4142-368b-54cb-bfca-d59ee48f6298",
|
|
}),
|
|
);
|
|
});
|
|
|
|
it("normalizes invalid history parameters", () => {
|
|
expect(
|
|
buildViewHistoryAction({
|
|
feature_infos: [["", "pipe"], "invalid"],
|
|
data_type: "unexpected",
|
|
runId: " ",
|
|
}),
|
|
).toEqual({
|
|
type: "view_history",
|
|
featureInfos: [],
|
|
dataType: "realtime",
|
|
runId: undefined,
|
|
startTime: undefined,
|
|
endTime: undefined,
|
|
});
|
|
});
|
|
});
|