@netdata/charts
Version:
Netdata frontend SDK and chart utilities
112 lines • 3.63 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
import { makeTestChart } from "@jest/testUtilities";
import tableChart from "./index";
describe("tableChart", function () {
it("creates chart instance with required methods", function () {
var _makeTestChart = makeTestChart(),
sdk = _makeTestChart.sdk,
chart = _makeTestChart.chart;
var instance = tableChart(sdk, chart);
expect(instance).toHaveProperty("mount");
expect(instance).toHaveProperty("unmount");
expect(instance).toHaveProperty("render");
expect(_typeof(instance.mount)).toBe("function");
expect(_typeof(instance.unmount)).toBe("function");
expect(_typeof(instance.render)).toBe("function");
});
it("mounts without errors", function () {
var _makeTestChart2 = makeTestChart(),
sdk = _makeTestChart2.sdk,
chart = _makeTestChart2.chart;
var instance = tableChart(sdk, chart);
var element = document.createElement("div");
expect(function () {
return instance.mount(element);
}).not.toThrow();
});
it("renders without errors when chart is not loaded", function () {
var _makeTestChart3 = makeTestChart({
attributes: {
loaded: false
}
}),
sdk = _makeTestChart3.sdk,
chart = _makeTestChart3.chart;
var instance = tableChart(sdk, chart);
expect(function () {
return instance.render();
}).not.toThrow();
});
it("renders without errors when chart is loaded", function () {
var _makeTestChart4 = makeTestChart({
attributes: {
loaded: true
}
}),
sdk = _makeTestChart4.sdk,
chart = _makeTestChart4.chart;
chart.getPayload = function () {
return {
data: [[1617946860000, 10, 20]]
};
};
chart.getClosestRow = function () {
return 1;
};
var instance = tableChart(sdk, chart);
expect(function () {
return instance.render();
}).not.toThrow();
});
it("handles hoverX attribute when rendering", function () {
var _makeTestChart5 = makeTestChart({
attributes: {
loaded: true,
hoverX: [1617946865000]
}
}),
sdk = _makeTestChart5.sdk,
chart = _makeTestChart5.chart;
chart.getPayload = function () {
return {
data: [[1617946860000, 10], [1617946870000, 20]]
};
};
chart.getClosestRow = function () {
return 0;
};
var instance = tableChart(sdk, chart);
expect(function () {
return instance.render();
}).not.toThrow();
});
it("handles empty data gracefully", function () {
var _makeTestChart6 = makeTestChart({
attributes: {
loaded: true
}
}),
sdk = _makeTestChart6.sdk,
chart = _makeTestChart6.chart;
chart.getPayload = function () {
return {
data: []
};
};
var instance = tableChart(sdk, chart);
expect(function () {
return instance.render();
}).not.toThrow();
});
it("unmounts without errors", function () {
var _makeTestChart7 = makeTestChart(),
sdk = _makeTestChart7.sdk,
chart = _makeTestChart7.chart;
var instance = tableChart(sdk, chart);
var element = document.createElement("div");
instance.mount(element);
expect(function () {
return instance.unmount();
}).not.toThrow();
});
});