@netdata/charts
Version:
Netdata frontend SDK and chart utilities
43 lines • 1.41 kB
JavaScript
import makeSDK from "./index";
it("add charts", function () {
var sdk = makeSDK({
attributes: {
chartLibrary: "myChartLibrary"
},
ui: {
myChartLibrary: function myChartLibrary() {}
}
});
expect(sdk.getNodes()).toEqual([sdk.getRoot()]);
var charts = [sdk.makeChart(), sdk.makeChart(), sdk.makeChart()];
charts.forEach(function (chart) {
return sdk.appendChild(chart);
});
expect(sdk.getNodes()).toEqual([sdk.getRoot()].concat(charts));
expect(charts[0].getParent()).toBe(sdk.getRoot());
});
it("add charts in containers", function () {
var sdk = makeSDK({
attributes: {
chartLibrary: "myChartLibrary"
},
ui: {
myChartLibrary: function myChartLibrary() {}
}
});
var container1 = sdk.makeContainer("group1");
sdk.appendChild(container1);
var container2 = sdk.makeContainer("group2");
sdk.appendChild(container2);
var chart1 = sdk.makeChart();
container1.appendChild(chart1);
var group2 = [sdk.makeChart(), sdk.makeChart()];
group2.forEach(function (chart) {
return container2.appendChild(chart);
});
expect(chart1.getParent()).toBe(container1);
expect(container1.getParent()).toBe(sdk.getRoot());
expect(group2[0].getParent()).toBe(container2);
expect(container2.getParent()).toBe(sdk.getRoot());
expect(sdk.getNodes()).toEqual([sdk.getRoot(), container1, chart1, container2].concat(group2));
});