UNPKG

@zohodesk/components

Version:

Dot UI is a customizable React component library built to deliver a clean, accessible, and developer-friendly UI experience. It offers a growing set of reusable components designed to align with modern design systems and streamline application development

221 lines (197 loc) • 7.3 kB
"use strict"; var _react = _interopRequireDefault(require("react")); var _react2 = require("@testing-library/react"); var _Label = _interopRequireDefault(require("../Label")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } // Hoisted enum values (PropTypes.oneOf enforcement) var REQUIRED_TYPE_VALUES = ['asterisk', 'text']; var SIZE_VALUES = ['small', 'medium']; var PALETTE_VALUES = ['default', 'secondary']; var TEXT_WEIGHT_VALUES = ['regular', 'semibold']; var LAYOUT_VALUES = ['inline', 'block']; afterEach(_react2.cleanup); describe('Label - Snapshot', function () { test('Render with default props', function () { var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text" })), asFragment = _render.asFragment; expect(asFragment()).toMatchSnapshot(); }); test.each(REQUIRED_TYPE_VALUES)('Render with requiredType=%s', function (value) { var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", isRequired: true, requiredType: value })), asFragment = _render2.asFragment; expect(asFragment()).toMatchSnapshot(); }); test.each(SIZE_VALUES)('Render with size=%s', function (value) { var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", size: value })), asFragment = _render3.asFragment; expect(asFragment()).toMatchSnapshot(); }); test.each(PALETTE_VALUES)('Render with palette=%s', function (value) { var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", palette: value })), asFragment = _render4.asFragment; expect(asFragment()).toMatchSnapshot(); }); test.each(TEXT_WEIGHT_VALUES)('Render with fontWeight=%s', function (value) { var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", fontWeight: value })), asFragment = _render5.asFragment; expect(asFragment()).toMatchSnapshot(); }); test.each(LAYOUT_VALUES)('Render with layout=%s', function (value) { var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", layout: value })), asFragment = _render6.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with shouldHighlightRequired=true', function () { var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", isRequired: true, shouldHighlightRequired: true })), asFragment = _render7.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with isClipped=true', function () { var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", isClipped: true })), asFragment = _render8.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with isRequired=true', function () { var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", isRequired: true })), asFragment = _render9.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with isRequired=true isClipped=true', function () { var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", isRequired: true, isClipped: true })), asFragment = _render10.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with isDisabled=true', function () { var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", isDisabled: true })), asFragment = _render11.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with isReadOnly=true', function () { var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", isReadOnly: true })), asFragment = _render12.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with htmlFor', function () { var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", htmlFor: "input-id" })), asFragment = _render13.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with i18nKeys', function () { var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", isRequired: true, requiredType: "text", i18nKeys: { requiredText: 'Custom Required' } })), asFragment = _render14.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with customClass', function () { var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", customClass: { container: 'custom-container', label: 'custom-label' } })), asFragment = _render15.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with customProps', function () { var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", customProps: { container: { $flag_shrink: true }, label: { $ui_lineClamp: '2' } } })), asFragment = _render16.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with customId and testId', function () { var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", customId: "label-customId", testId: "label-testId" })), asFragment = _render17.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with tag attributes', function () { var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", tagAttributes: { container: { 'data-custom-attr': 'true' }, label: { 'data-custom-attr': 'true' } } })), asFragment = _render18.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with a11y attributes', function () { var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Label["default"], { text: "Label text", a11yAttributes: { container: { role: 'group' }, label: { 'aria-label': 'Custom label' } } })), asFragment = _render19.asFragment; expect(asFragment()).toMatchSnapshot(); }); });