UNPKG

@netdata/netdata-ui

Version:

netdata UI kit

93 lines (92 loc) 4.29 kB
"use strict"; var _react = _interopRequireDefault(require("react")); var _testUtilities = require("testUtilities"); var _default = require("../../theme/default"); var _index = _interopRequireDefault(require("./index")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } var getSelectors = function getSelectors(container) { var input = container.querySelector("input"); var iconContainer = input.nextSibling; var svg = container.querySelector("svg"); return { input: input, iconContainer: iconContainer, svg: svg }; }; it("renders", function () { var _renderWithProviders = (0, _testUtilities.renderWithProviders)(/*#__PURE__*/_react["default"].createElement(_index["default"], null)), container = _renderWithProviders.container; var _getSelectors = getSelectors(container), input = _getSelectors.input, iconContainer = _getSelectors.iconContainer, svg = _getSelectors.svg; expect(input).not.toHaveAttribute("checked"); expect(iconContainer).toHaveStyleRule("border", "1px solid " + _default.DefaultTheme.colors.inputBorder); expect(svg).toBe(null); }); it("renders checked", function () { var _renderWithProviders2 = (0, _testUtilities.renderWithProviders)(/*#__PURE__*/_react["default"].createElement(_index["default"], { checked: true, onChange: jest.fn() })), container = _renderWithProviders2.container; var _getSelectors2 = getSelectors(container), input = _getSelectors2.input, iconContainer = _getSelectors2.iconContainer, svg = _getSelectors2.svg; expect(input).toHaveAttribute("checked"); expect(iconContainer).toHaveStyleRule("border", "1px solid " + _default.DefaultTheme.colors.inputBorder); expect(svg).toHaveStyleRule("fill", _default.DefaultTheme.colors.primary); }); it("renders disabled", function () { var _renderWithProviders3 = (0, _testUtilities.renderWithProviders)(/*#__PURE__*/_react["default"].createElement(_index["default"], { disabled: true })), container = _renderWithProviders3.container; var _getSelectors3 = getSelectors(container), input = _getSelectors3.input, iconContainer = _getSelectors3.iconContainer, svg = _getSelectors3.svg; expect(input).not.toHaveAttribute("checked"); expect(input).toHaveAttribute("disabled"); expect(iconContainer).toHaveStyleRule("border", "1px solid " + _default.DefaultTheme.colors.disabled); expect(svg).toBe(null); }); it("renders disabled checked", function () { var _renderWithProviders4 = (0, _testUtilities.renderWithProviders)(/*#__PURE__*/_react["default"].createElement(_index["default"], { checked: true, disabled: true, onChange: jest.fn() })), container = _renderWithProviders4.container; var _getSelectors4 = getSelectors(container), input = _getSelectors4.input, iconContainer = _getSelectors4.iconContainer, svg = _getSelectors4.svg; expect(input).toHaveAttribute("checked"); expect(input).toHaveAttribute("disabled"); expect(iconContainer).toHaveStyleRule("border", "1px solid " + _default.DefaultTheme.colors.inputBorder); expect(svg).toHaveStyleRule("fill", _default.DefaultTheme.colors.disabled); }); it("triggers change", function () { var onChange = jest.fn(); var _renderWithProviders5 = (0, _testUtilities.renderWithProviders)(/*#__PURE__*/_react["default"].createElement(_index["default"], { onChange: onChange })), container = _renderWithProviders5.container; _testUtilities.fireEvent.click(container.firstChild); expect(onChange).toBeCalledTimes(1); }); it("renders label", function () { var _renderWithProviders6 = (0, _testUtilities.renderWithProviders)(/*#__PURE__*/_react["default"].createElement(_index["default"], { label: "my label" })), getByLabelText = _renderWithProviders6.getByLabelText; expect(getByLabelText("my label")).toBeInTheDocument(); }); it("renders children", function () { var _renderWithProviders7 = (0, _testUtilities.renderWithProviders)(/*#__PURE__*/_react["default"].createElement(_index["default"], null, /*#__PURE__*/_react["default"].createElement("span", null, "my content"))), getByLabelText = _renderWithProviders7.getByLabelText; expect(getByLabelText("my content")).toBeInTheDocument(); });