1 | function _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); }
|
2 | import { render, screen } from '@testing-library/react';
|
3 | import '@testing-library/jest-dom';
|
4 | import React from 'react';
|
5 | import { DropdownContext } from './DropdownContext';
|
6 | export function testForCustomClass(Component) {
|
7 | var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
8 | render( React.createElement(Component, _extends({}, props, {
|
9 | "data-testid": "test",
|
10 | className: "custom-class"
|
11 | })));
|
12 | var node = screen.getByTestId('test');
|
13 | expect(node).toHaveClass('custom-class');
|
14 | }
|
15 | export function testForCustomTag(Component) {
|
16 | var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
17 | var tag = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'h1';
|
18 | render( React.createElement(Component, _extends({}, props, {
|
19 | tag: tag,
|
20 | "data-testid": "test"
|
21 | })));
|
22 | var node = screen.getByTestId('test');
|
23 | expect(node.tagName.toLowerCase()).toMatch(tag);
|
24 | }
|
25 | export function testForCustomAttribute(Component) {
|
26 | var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
27 | render( React.createElement(Component, _extends({}, props, {
|
28 | "data-testid": "test",
|
29 | "custom-attribute": "custom-value"
|
30 | })));
|
31 | var node = screen.getByTestId('test');
|
32 | expect(node).toHaveAttribute('custom-attribute', 'custom-value');
|
33 | }
|
34 | export function testForDefaultTag(Component, tag) {
|
35 | render( React.createElement(Component, {
|
36 | "data-testid": "test"
|
37 | }));
|
38 | var node = screen.getByTestId('test');
|
39 | expect(node.tagName.toLowerCase()).toMatch(tag);
|
40 | }
|
41 | export function testForDefaultClass(Component, className) {
|
42 | render( React.createElement(Component, {
|
43 | "data-testid": "test"
|
44 | }));
|
45 | var node = screen.getByTestId('test');
|
46 | expect(node).toHaveClass(className);
|
47 | }
|
48 | export function testForChildrenInComponent(Component) {
|
49 | render( React.createElement(Component, null, "Yo!"));
|
50 | expect(screen.getByText('Yo!')).toBeInTheDocument();
|
51 | }
|
52 |
|
53 |
|
54 | export var customDropdownRender = function customDropdownRender(ui, providerProps) {
|
55 | return render( React.createElement(DropdownContext.Provider, {
|
56 | value: providerProps
|
57 | }, ui));
|
58 | }; |
\ | No newline at end of file |