UNPKG

@netdata/charts

Version:

Netdata frontend SDK and chart utilities

82 lines 2.12 kB
import React from "react"; import { renderWithChart } from "@jest/testUtilities"; import proceeded from "./proceeded"; import { jsx as _jsx } from "react/jsx-runtime"; 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 = renderWithChart(/*#__PURE__*/_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 () { proceeded(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 proceeded(chartUI, "test-proceeded"); }).not.toThrow(); }); it("handles error state", function () { chartUI.chart.getAttribute = jest.fn(function () { return { outOfLimits: false, error: true }; }); expect(function () { return proceeded(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 }; }); proceeded(chartUI, "test-proceeded"); expect(chartUI.chart.getFirstEntry).toHaveBeenCalled(); }); });