UNPKG

@netdata/charts

Version:

Netdata frontend SDK and chart utilities

67 lines (65 loc) 2.04 kB
"use strict"; var _parseDOM = _interopRequireDefault(require("./parseDOM")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } 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); } describe("parseDOM", function () { var mockSDK; var mockDocument; beforeEach(function () { mockSDK = { getRoot: jest.fn(function () { return { id: "root" }; }), makeContainer: jest.fn(function () { return { id: "container" }; }), makeChart: jest.fn(function () { return { id: "chart" }; }) }; // Mock DOM global.document = { querySelectorAll: jest.fn(function () { return []; }) }; }); it("creates parseDOM result object", function () { var result = (0, _parseDOM["default"])(mockSDK); expect(_typeof(result)).toBe("object"); expect(result).toHaveProperty("elements"); expect(result).toHaveProperty("nodeByElement"); }); it("handles empty DOM", function () { expect(function () { return (0, _parseDOM["default"])(mockSDK); }).not.toThrow(); }); it("initializes with SDK when elements present", function () { mockSDK.getRoot.mockReturnValue({ appendChild: jest.fn() }); global.document.querySelectorAll = jest.fn(function () { return [{ hasAttribute: jest.fn(function () { return true; }), getAttributeNames: jest.fn(function () { return ["data-id"]; }), getAttribute: jest.fn(function () { return "test"; }), parentElement: null }]; }); (0, _parseDOM["default"])(mockSDK); expect(mockSDK.getRoot).toBeCalled(); }); });