@netdata/charts
Version:
Netdata frontend SDK and chart utilities
85 lines (84 loc) • 2.38 kB
JavaScript
;
var _react = _interopRequireDefault(require("react"));
var _testUtilities = require("@jest/testUtilities");
var _proceeded = _interopRequireDefault(require("./proceeded"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
var mockDygraph = {
xAxisRange: function xAxisRange() {
return [1000000, 2000000];
}
};
jest.mock("./helpers", function () {
return {
trigger: jest.fn(),
getArea: jest.fn(function () {
return {
from: 50,
width: 100
};
})
};
});
describe("proceeded overlay", function () {
var chartUI;
beforeEach(function () {
var _renderWithChart = (0, _testUtilities.renderWithChart)(/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {}), {
chartType: "line",
attributes: {
outOfLimits: false,
error: false
}
}),
chart = _renderWithChart.chart;
chart.getFirstEntry = jest.fn(function () {
return 1500;
});
chartUI = {
chart: chart,
getDygraph: function getDygraph() {
return mockDygraph;
}
};
jest.clearAllMocks();
});
it("calculates time range correctly", function () {
(0, _proceeded["default"])(chartUI, "test-proceeded");
expect(chartUI.chart.getFirstEntry).toHaveBeenCalled();
});
it("handles outOfLimits state", function () {
chartUI.chart.getAttribute = jest.fn(function () {
return {
outOfLimits: true,
error: false
};
});
expect(function () {
return (0, _proceeded["default"])(chartUI, "test-proceeded");
}).not.toThrow();
});
it("handles error state", function () {
chartUI.chart.getAttribute = jest.fn(function () {
return {
outOfLimits: false,
error: true
};
});
expect(function () {
return (0, _proceeded["default"])(chartUI, "test-proceeded");
}).not.toThrow();
});
it("returns early when conditions not met", function () {
chartUI.chart.getFirstEntry = jest.fn(function () {
return null;
});
chartUI.chart.getAttribute = jest.fn(function () {
return {
outOfLimits: false,
error: false
};
});
(0, _proceeded["default"])(chartUI, "test-proceeded");
expect(chartUI.chart.getFirstEntry).toHaveBeenCalled();
});
});