@netdata/charts
Version:
Netdata frontend SDK and chart utilities
49 lines (48 loc) • 1.98 kB
JavaScript
;
var _react = _interopRequireDefault(require("react"));
var _react2 = require("@testing-library/react");
require("@testing-library/jest-dom");
var _context = _interopRequireDefault(require("./context"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
describe("ChartContext", function () {
it("creates React context with null default value", function () {
expect(_context["default"]).toBeDefined();
expect(_context["default"].Provider).toBeDefined();
expect(_context["default"].Consumer).toBeDefined();
});
it("provides context value to children", function () {
var testValue = {
test: "data"
};
var TestComponent = function TestComponent() {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context["default"].Consumer, {
children: function children(value) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
"data-testid": "context-value",
children: JSON.stringify(value)
});
}
});
};
(0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_context["default"].Provider, {
value: testValue,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TestComponent, {})
}));
expect(_react2.screen.getByTestId("context-value")).toHaveTextContent('{"test":"data"}');
});
it("provides null by default when no provider", function () {
var TestComponent = function TestComponent() {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context["default"].Consumer, {
children: function children(value) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
"data-testid": "context-value",
children: String(value)
});
}
});
};
(0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(TestComponent, {}));
expect(_react2.screen.getByTestId("context-value")).toHaveTextContent("null");
});
});