@netdata/charts
Version:
Netdata frontend SDK and chart utilities
84 lines • 2.02 kB
JavaScript
import camelizePayload from "./camelizePayload";
describe("camelizePayload", function () {
it("handles minimal payload", function () {
var payload = {
result: {
data: [[1000, 1, 2]],
labels: ["time", "cpu", "memory"],
point: {
value: 0
}
}
};
var result = camelizePayload(payload);
expect(result).toHaveProperty("result");
expect(result.result).toHaveProperty("data");
expect(result.result).toHaveProperty("labels");
expect(result.result.labels).toContain("ANOMALY_RATE");
expect(result.result.labels).toContain("ANNOTATIONS");
});
it("handles empty payload", function () {
var payload = {
result: {
data: [],
labels: [],
point: {
value: 0
}
}
};
expect(function () {
return camelizePayload(payload);
}).not.toThrow();
});
it("processes chart metadata", function () {
var payload = {
view: {
title: "Test Chart",
chart_type: "line",
units: "bytes"
},
result: {
data: [],
labels: [],
point: {
value: 0
}
}
};
var result = camelizePayload(payload);
expect(result.title).toBe("Test Chart");
expect(result.chartType).toBe("line");
expect(result.units).toEqual(["By"]);
});
it("handles summary data", function () {
var payload = {
summary: {
nodes: [{
nd: "node1",
ni: 0,
nm: "Node 1"
}],
instances: [{
id: "inst1",
ni: 0,
nm: "Instance 1"
}],
dimensions: [{
id: "dim1"
}]
},
result: {
data: [],
labels: [],
point: {
value: 0
}
}
};
var result = camelizePayload(payload);
expect(result.nodes).toHaveProperty("node1");
expect(result.dimensions).toHaveProperty("dim1");
expect(result.dimensionIds).toContain("dim1");
});
});