UNPKG

@netdata/charts

Version:

Netdata frontend SDK and chart utilities

85 lines (84 loc) 2.38 kB
"use strict"; 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(); }); });