























@@ -50,4 +50,56 @@ describe("cron listPage sort guards", () => {
5050const page = await listPage(state, { sortBy: "nextRunAtMs", sortDir: "asc" });
5151expect(page.jobs).toHaveLength(2);
5252});
53+54+it("normalizes requested agent ids before filtering", async () => {
55+const jobs = [
56+createBaseJob({ id: "job-main", agentId: "main", name: "main" }),
57+createBaseJob({ id: "job-ops", agentId: "ops", name: "ops" }),
58+createBaseJob({ id: "job-unset", agentId: undefined, name: "unset" }),
59+];
60+const state = createMockCronStateForJobs({ jobs });
61+62+const page = await listPage(state, { agentId: " Ops " });
63+64+expect(page.jobs.map((job) => job.id)).toEqual(["job-ops"]);
65+});
66+67+it("matches omitted job agent ids to the configured default agent when filtering", async () => {
68+const jobs = [
69+createBaseJob({ id: "job-main", agentId: "main", name: "main" }),
70+createBaseJob({ id: "job-ops", agentId: "ops", name: "ops" }),
71+createBaseJob({ id: "job-unset", agentId: undefined, name: "unset" }),
72+];
73+const state = createMockCronStateForJobs({ jobs });
74+state.deps.defaultAgentId = " Ops ";
75+76+const page = await listPage(state, { agentId: "ops" });
77+78+expect(page.jobs.map((job) => job.id)).toEqual(["job-ops", "job-unset"]);
79+});
80+81+it("matches omitted job agent ids to main when no default agent is configured", async () => {
82+const jobs = [
83+createBaseJob({ id: "job-main", agentId: "main", name: "main" }),
84+createBaseJob({ id: "job-ops", agentId: "ops", name: "ops" }),
85+createBaseJob({ id: "job-unset", agentId: undefined, name: "unset" }),
86+];
87+const state = createMockCronStateForJobs({ jobs });
88+89+const page = await listPage(state, { agentId: "main" });
90+91+expect(page.jobs.map((job) => job.id)).toEqual(["job-main", "job-unset"]);
92+});
93+94+it("keeps listPage unfiltered when agent id is omitted", async () => {
95+const jobs = [
96+createBaseJob({ id: "job-main", agentId: "main", name: "main" }),
97+createBaseJob({ id: "job-ops", agentId: "ops", name: "ops" }),
98+];
99+const state = createMockCronStateForJobs({ jobs });
100+101+const page = await listPage(state);
102+103+expect(page.jobs.map((job) => job.id)).toEqual(["job-main", "job-ops"]);
104+});
53105});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。