fix(asset-ai): refine mobile viewport and operating query scope
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
shishengliang
2026-09-23 18:49:26 +08:00
parent 5be6240bbf
commit 6de77adb47
11 changed files with 145 additions and 23 deletions
@@ -770,3 +770,28 @@ test("references to ranked results receive the selected result's aggregate evide
assert.deepEqual(detail.plan.filters, { region: ["华东"] });
assert.equal(detail.rows.length, 4);
});
test("department operating situation repairs an all-assets proposal and preserves scope on drill", async (t) => {
const { ask, responses } = setup(t);
for (const message of ["各部门车辆运营情况", "各部门车辆的运营情况"]) {
responses.push({ plan: plan({ category: "all", groupBy: "department" }) });
const result = await ask({ message });
assert.equal(result.plan.category, "operating");
assert.equal(result.plan.groupBy, "department");
assert.deepEqual(result.rows.map(row => row.id), ["jx-running"]);
assert.deepEqual(result.metrics, [{ label: "运营车辆", value: 1, unit: "台" }]);
const detail = await ask({ ...based(result), action: { type: "drill", keys: result.groups[0].keys! } });
assert.equal(detail.plan.category, "operating");
assert.deepEqual(detail.rows.map(row => row.id), ["jx-running"]);
}
});
test("department operating rate retains all assets as its denominator", async (t) => {
const { ask, responses } = setup(t);
responses.push({ plan: plan({ category: "all", groupBy: "department" }) });
const result = await ask({ message: "各部门车辆运营情况和运营率" });
assert.equal(result.plan.category, "all");
assert.equal(result.rows.length, 6);
assert.equal(result.metrics.find(metric => metric.label === "运营率")?.value, 16.7);
});