@netdata/charts
Version:
Netdata frontend SDK and chart utilities
67 lines (65 loc) • 2.04 kB
JavaScript
;
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).toHaveBeenCalled();
});
});