fix(chat): normalize chart tool data
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import { normalizeChartData } from "./ChatInlineChart";
|
||||
|
||||
describe("normalizeChartData", () => {
|
||||
it("keeps standard bar chart series data", () => {
|
||||
const result = normalizeChartData(["A", "B"], [
|
||||
{ name: "数量", data: [3, 5], type: "bar" },
|
||||
]);
|
||||
|
||||
expect(result).toEqual({
|
||||
xData: ["A", "B"],
|
||||
series: [{ name: "数量", data: [3, 5], type: "bar" }],
|
||||
});
|
||||
});
|
||||
|
||||
it("normalizes line chart point arrays into x labels and y values", () => {
|
||||
const result = normalizeChartData(undefined, [
|
||||
{ name: "压力", data: [["10:00", 12.5], ["11:00", 13.1]] },
|
||||
]);
|
||||
|
||||
expect(result).toEqual({
|
||||
xData: ["10:00", "11:00"],
|
||||
series: [{ name: "压力", data: [12.5, 13.1], type: undefined }],
|
||||
});
|
||||
});
|
||||
|
||||
it("normalizes pie chart point objects into a single series", () => {
|
||||
const result = normalizeChartData(undefined, [
|
||||
{ name: "低风险", value: 8 },
|
||||
{ name: "高风险", value: 2 },
|
||||
]);
|
||||
|
||||
expect(result).toEqual({
|
||||
xData: ["低风险", "高风险"],
|
||||
series: [{ name: "数据", data: [8, 2], type: undefined }],
|
||||
});
|
||||
});
|
||||
|
||||
it("accepts a single series object", () => {
|
||||
const result = normalizeChartData(["A", "B"], {
|
||||
name: "流量",
|
||||
values: ["1.2", "2.4"],
|
||||
});
|
||||
|
||||
expect(result).toEqual({
|
||||
xData: ["A", "B"],
|
||||
series: [{ name: "流量", data: [1.2, 2.4], type: undefined }],
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user