UNPKG

3.07 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.customDropdownRender = void 0;
7exports.testForChildrenInComponent = testForChildrenInComponent;
8exports.testForCustomAttribute = testForCustomAttribute;
9exports.testForCustomClass = testForCustomClass;
10exports.testForCustomTag = testForCustomTag;
11exports.testForDefaultClass = testForDefaultClass;
12exports.testForDefaultTag = testForDefaultTag;
13var _react = require("@testing-library/react");
14require("@testing-library/jest-dom");
15var _react2 = _interopRequireDefault(require("react"));
16var _DropdownContext = require("./DropdownContext");
17function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19function testForCustomClass(Component, props = {}) {
20 (0, _react.render)( /*#__PURE__*/_react2.default.createElement(Component, _extends({}, props, {
21 "data-testid": "test",
22 className: "custom-class"
23 })));
24 const node = _react.screen.getByTestId('test');
25 expect(node).toHaveClass('custom-class');
26}
27function testForCustomTag(Component, props = {}, tag = 'h1') {
28 (0, _react.render)( /*#__PURE__*/_react2.default.createElement(Component, _extends({}, props, {
29 tag: tag,
30 "data-testid": "test"
31 })));
32 const node = _react.screen.getByTestId('test');
33 expect(node.tagName.toLowerCase()).toMatch(tag);
34}
35function testForCustomAttribute(Component, props = {}) {
36 (0, _react.render)( /*#__PURE__*/_react2.default.createElement(Component, _extends({}, props, {
37 "data-testid": "test",
38 "custom-attribute": "custom-value"
39 })));
40 const node = _react.screen.getByTestId('test');
41 expect(node).toHaveAttribute('custom-attribute', 'custom-value');
42}
43function testForDefaultTag(Component, tag) {
44 (0, _react.render)( /*#__PURE__*/_react2.default.createElement(Component, {
45 "data-testid": "test"
46 }));
47 const node = _react.screen.getByTestId('test');
48 expect(node.tagName.toLowerCase()).toMatch(tag);
49}
50function testForDefaultClass(Component, className) {
51 (0, _react.render)( /*#__PURE__*/_react2.default.createElement(Component, {
52 "data-testid": "test"
53 }));
54 const node = _react.screen.getByTestId('test');
55 expect(node).toHaveClass(className);
56}
57function testForChildrenInComponent(Component) {
58 (0, _react.render)( /*#__PURE__*/_react2.default.createElement(Component, null, "Yo!"));
59 expect(_react.screen.getByText('Yo!')).toBeInTheDocument();
60}
61
62// Custom render for Dropdown with provider props
63const customDropdownRender = (ui, providerProps) => {
64 return (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_DropdownContext.DropdownContext.Provider, {
65 value: providerProps
66 }, ui));
67};
68exports.customDropdownRender = customDropdownRender;
\No newline at end of file