@dxc-technology/halstack-react 0.0.0-9bd9511 → 0.0.0-9c20370
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +3 -3
- package/BackgroundColorContext.js +12 -2
- package/HalstackContext.d.ts +1330 -7
- package/HalstackContext.js +84 -67
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +74 -55
- package/accordion/Accordion.stories.tsx +3 -101
- package/accordion/Accordion.test.js +34 -19
- package/accordion/types.d.ts +4 -16
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +49 -42
- package/accordion-group/AccordionGroup.stories.tsx +77 -76
- package/accordion-group/AccordionGroup.test.js +62 -54
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +6 -18
- package/alert/Alert.js +47 -20
- package/alert/Alert.test.js +46 -29
- package/alert/types.d.ts +3 -3
- package/badge/Badge.js +14 -2
- package/badge/types.d.ts +1 -1
- package/bleed/Bleed.js +21 -13
- package/bleed/Bleed.stories.tsx +1 -0
- package/bleed/types.d.ts +2 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +33 -33
- package/box/Box.stories.tsx +25 -53
- package/box/Box.test.js +7 -2
- package/box/types.d.ts +3 -15
- package/bulleted-list/BulletedList.js +36 -9
- package/bulleted-list/BulletedList.stories.tsx +7 -1
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +83 -71
- package/button/Button.stories.tsx +4 -4
- package/button/Button.test.js +28 -8
- package/button/types.d.ts +8 -4
- package/card/Card.d.ts +1 -1
- package/card/Card.js +67 -62
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +22 -11
- package/card/types.d.ts +4 -10
- package/checkbox/Checkbox.js +71 -27
- package/checkbox/Checkbox.test.js +60 -33
- package/checkbox/types.d.ts +4 -4
- package/chip/Chip.js +51 -48
- package/chip/Chip.stories.tsx +25 -17
- package/chip/Chip.test.js +29 -17
- package/chip/types.d.ts +4 -4
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +8 -3
- package/common/variables.d.ts +226 -175
- package/common/variables.js +956 -1133
- package/date-input/Calendar.js +55 -12
- package/date-input/DateInput.js +82 -35
- package/date-input/DateInput.test.js +351 -164
- package/date-input/DatePicker.js +38 -8
- package/date-input/Icons.js +12 -0
- package/date-input/YearPicker.js +30 -5
- package/date-input/types.d.ts +7 -7
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +83 -86
- package/dialog/Dialog.stories.tsx +127 -221
- package/dialog/Dialog.test.js +331 -18
- package/dialog/types.d.ts +1 -14
- package/dropdown/Dropdown.js +86 -32
- package/dropdown/Dropdown.test.js +211 -104
- package/dropdown/DropdownMenu.js +22 -8
- package/dropdown/DropdownMenuItem.js +15 -6
- package/dropdown/types.d.ts +8 -8
- package/file-input/FileInput.js +218 -134
- package/file-input/FileInput.test.js +343 -331
- package/file-input/FileItem.js +39 -12
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +39 -25
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +74 -9
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +80 -68
- package/footer/Footer.stories.tsx +12 -89
- package/footer/Footer.test.js +47 -40
- package/footer/Icons.js +4 -0
- package/footer/types.d.ts +15 -17
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +72 -55
- package/header/Header.stories.tsx +7 -71
- package/header/Header.test.js +26 -13
- package/header/Icons.js +4 -0
- package/header/types.d.ts +2 -16
- package/heading/Heading.js +28 -7
- package/heading/Heading.test.js +88 -71
- package/heading/types.d.ts +3 -3
- package/inset/Inset.js +21 -13
- package/inset/Inset.stories.tsx +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +57 -15
- package/layout/Icons.js +10 -0
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +4 -0
- package/layout/types.d.ts +5 -6
- package/link/Link.js +41 -21
- package/link/Link.test.js +42 -26
- package/link/types.d.ts +4 -4
- package/main.d.ts +2 -1
- package/main.js +55 -0
- package/nav-tabs/NavTabs.d.ts +2 -2
- package/nav-tabs/NavTabs.js +43 -16
- package/nav-tabs/NavTabs.stories.tsx +14 -0
- package/nav-tabs/NavTabs.test.js +44 -37
- package/nav-tabs/Tab.js +71 -45
- package/nav-tabs/types.d.ts +10 -11
- package/number-input/NumberInput.js +30 -20
- package/number-input/NumberInput.test.js +249 -113
- package/number-input/NumberInputContext.js +5 -0
- package/number-input/numberInputContextTypes.d.ts +1 -1
- package/number-input/types.d.ts +4 -4
- package/package.json +7 -7
- package/paginator/Icons.js +10 -0
- package/paginator/Paginator.js +39 -17
- package/paginator/Paginator.test.js +156 -104
- package/paginator/types.d.ts +1 -1
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +18 -8
- package/password-input/PasswordInput.js +51 -22
- package/password-input/PasswordInput.test.js +94 -51
- package/password-input/types.d.ts +4 -4
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +39 -14
- package/progress-bar/ProgressBar.test.js +53 -36
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +24 -2
- package/quick-nav/types.d.ts +2 -2
- package/radio-group/Radio.js +53 -22
- package/radio-group/RadioGroup.js +84 -41
- package/radio-group/RadioGroup.test.js +288 -186
- package/radio-group/types.d.ts +4 -4
- package/resultsetTable/Icons.js +3 -0
- package/resultsetTable/ResultsetTable.js +56 -21
- package/resultsetTable/ResultsetTable.test.js +75 -42
- package/resultsetTable/types.d.ts +5 -5
- package/select/Icons.js +3 -0
- package/select/Listbox.js +35 -10
- package/select/Option.js +24 -8
- package/select/Select.js +143 -56
- package/select/Select.test.js +839 -456
- package/select/types.d.ts +12 -12
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +116 -104
- package/sidenav/Sidenav.stories.tsx +60 -60
- package/sidenav/Sidenav.test.js +10 -3
- package/sidenav/types.d.ts +26 -23
- package/slider/Slider.js +84 -38
- package/slider/Slider.test.js +104 -76
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +51 -28
- package/spinner/Spinner.stories.jsx +28 -28
- package/spinner/Spinner.test.js +35 -26
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.js +66 -24
- package/switch/Switch.test.js +97 -52
- package/switch/types.d.ts +4 -4
- package/table/Table.js +22 -4
- package/table/Table.test.js +7 -2
- package/table/types.d.ts +3 -3
- package/tabs/Tab.js +39 -22
- package/tabs/Tabs.js +131 -62
- package/tabs/Tabs.test.js +122 -67
- package/tabs/types.d.ts +8 -8
- package/tag/Tag.js +54 -27
- package/tag/Tag.test.js +31 -20
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.js +3 -0
- package/text-input/Suggestion.js +24 -8
- package/text-input/Suggestions.js +36 -11
- package/text-input/TextInput.js +144 -59
- package/text-input/TextInput.stories.tsx +1 -1
- package/text-input/TextInput.test.js +858 -539
- package/text-input/types.d.ts +9 -9
- package/textarea/Textarea.js +73 -38
- package/textarea/Textarea.test.js +173 -98
- package/textarea/types.d.ts +4 -4
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +59 -21
- package/toggle-group/ToggleGroup.test.js +72 -40
- package/toggle-group/types.d.ts +11 -11
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +23 -110
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1234 -1
- package/useTheme.js +6 -0
- package/useTranslatedLabels.d.ts +84 -2
- package/useTranslatedLabels.js +5 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +47 -13
- package/wizard/Wizard.test.js +81 -54
- package/wizard/types.d.ts +7 -8
- package/card/ice-cream.jpg +0 -0
- package/translatedLabelsType.d.ts +0 -82
- /package/{translatedLabelsType.js → grid/types.js} +0 -0
|
@@ -1,22 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
+
|
|
5
7
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
|
+
|
|
6
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
|
|
7
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
|
|
8
13
|
var _react = _interopRequireDefault(require("react"));
|
|
14
|
+
|
|
9
15
|
var _react2 = require("@testing-library/react");
|
|
16
|
+
|
|
10
17
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
18
|
+
|
|
11
19
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
20
|
+
|
|
12
21
|
var _DateInput = _interopRequireDefault(require("./DateInput.tsx"));
|
|
22
|
+
|
|
13
23
|
// Mocking DOMRect for Radix Primitive Popover
|
|
14
24
|
global.globalThis = global;
|
|
25
|
+
|
|
15
26
|
global.ResizeObserver = /*#__PURE__*/function () {
|
|
16
27
|
function ResizeObserver(cb) {
|
|
17
28
|
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
18
29
|
this.cb = cb;
|
|
19
30
|
}
|
|
31
|
+
|
|
20
32
|
(0, _createClass2["default"])(ResizeObserver, [{
|
|
21
33
|
key: "observe",
|
|
22
34
|
value: function observe() {
|
|
@@ -33,6 +45,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
33
45
|
}]);
|
|
34
46
|
return ResizeObserver;
|
|
35
47
|
}();
|
|
48
|
+
|
|
36
49
|
global.DOMRect = {
|
|
37
50
|
fromRect: function fromRect() {
|
|
38
51
|
return {
|
|
@@ -48,313 +61,403 @@ global.DOMRect = {
|
|
|
48
61
|
describe("DateInput component tests", function () {
|
|
49
62
|
test("Renders with correct label, helper text, optional, placeholder and clearable action", function () {
|
|
50
63
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
64
|
+
label: "Example label",
|
|
65
|
+
helperText: "Example of helper text",
|
|
66
|
+
placeholder: true,
|
|
67
|
+
optional: true,
|
|
68
|
+
clearable: true
|
|
69
|
+
})),
|
|
70
|
+
getByText = _render.getByText,
|
|
71
|
+
getByRole = _render.getByRole,
|
|
72
|
+
getAllByRole = _render.getAllByRole;
|
|
73
|
+
|
|
60
74
|
var input = getByRole("textbox");
|
|
61
75
|
expect(getByText("Example label")).toBeTruthy();
|
|
62
76
|
expect(getByText("Example of helper text")).toBeTruthy();
|
|
63
77
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
64
78
|
expect(input.getAttribute("placeholder")).toBe("DD-MM-YYYY");
|
|
79
|
+
|
|
65
80
|
_userEvent["default"].type(input, "10/10/2010");
|
|
81
|
+
|
|
66
82
|
var closeAction = getAllByRole("button")[0];
|
|
83
|
+
|
|
67
84
|
_userEvent["default"].click(closeAction);
|
|
85
|
+
|
|
68
86
|
expect(input.value).toBe("");
|
|
69
87
|
});
|
|
70
88
|
test("Renders with custom error", function () {
|
|
71
89
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
90
|
+
error: "Personalized error."
|
|
91
|
+
})),
|
|
92
|
+
getByText = _render2.getByText;
|
|
93
|
+
|
|
75
94
|
expect(getByText("Personalized error.")).toBeTruthy();
|
|
76
95
|
});
|
|
77
96
|
test("Renders with an initial value when it is uncontrolled", function () {
|
|
78
97
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
98
|
+
label: "Default label",
|
|
99
|
+
placeholder: "Placeholder",
|
|
100
|
+
defaultValue: "21-10-2015"
|
|
101
|
+
})),
|
|
102
|
+
getByText = _render3.getByText,
|
|
103
|
+
getByRole = _render3.getByRole;
|
|
104
|
+
|
|
85
105
|
var input = getByRole("textbox");
|
|
86
106
|
var calendarAction = getByRole("combobox");
|
|
87
107
|
expect(input.value).toBe("21-10-2015");
|
|
108
|
+
|
|
88
109
|
_userEvent["default"].click(calendarAction);
|
|
110
|
+
|
|
89
111
|
expect(getByText("21").getAttribute("aria-selected")).toBe("true");
|
|
90
112
|
expect(getByText("October 2015")).toBeTruthy();
|
|
91
113
|
});
|
|
92
114
|
test("Renders with correct format: user typed date but it's invalid, onBlur error", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
93
115
|
var onBlur, _render4, getByRole, input;
|
|
116
|
+
|
|
94
117
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
95
|
-
while (1)
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
118
|
+
while (1) {
|
|
119
|
+
switch (_context.prev = _context.next) {
|
|
120
|
+
case 0:
|
|
121
|
+
onBlur = jest.fn(function (_ref2) {
|
|
122
|
+
var value = _ref2.value,
|
|
123
|
+
error = _ref2.error;
|
|
124
|
+
expect(value).toBe("10/90/2010");
|
|
125
|
+
expect(error).toBe("Invalid date.");
|
|
126
|
+
});
|
|
127
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
128
|
+
label: "With format MM/dd/yyyy",
|
|
129
|
+
format: "MM/dd/yyyy",
|
|
130
|
+
onBlur: onBlur
|
|
131
|
+
})), getByRole = _render4.getByRole;
|
|
132
|
+
input = getByRole("textbox");
|
|
133
|
+
|
|
134
|
+
_userEvent["default"].click(input);
|
|
135
|
+
|
|
136
|
+
_context.next = 6;
|
|
137
|
+
return _userEvent["default"].keyboard("10");
|
|
138
|
+
|
|
139
|
+
case 6:
|
|
140
|
+
_context.next = 8;
|
|
141
|
+
return _userEvent["default"].keyboard("/");
|
|
142
|
+
|
|
143
|
+
case 8:
|
|
144
|
+
_context.next = 10;
|
|
145
|
+
return _userEvent["default"].keyboard("90");
|
|
146
|
+
|
|
147
|
+
case 10:
|
|
148
|
+
_context.next = 12;
|
|
149
|
+
return _userEvent["default"].keyboard("/");
|
|
150
|
+
|
|
151
|
+
case 12:
|
|
152
|
+
_context.next = 14;
|
|
153
|
+
return _userEvent["default"].keyboard("2010");
|
|
154
|
+
|
|
155
|
+
case 14:
|
|
156
|
+
_react2.fireEvent.blur(input);
|
|
157
|
+
|
|
158
|
+
case 15:
|
|
159
|
+
case "end":
|
|
160
|
+
return _context.stop();
|
|
161
|
+
}
|
|
129
162
|
}
|
|
130
163
|
}, _callee);
|
|
131
164
|
})));
|
|
132
165
|
test("Renders with correct format: user typed date but it's invalid, onChange error", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
133
166
|
var onChange, _render5, getByRole, input;
|
|
167
|
+
|
|
134
168
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
135
|
-
while (1)
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
169
|
+
while (1) {
|
|
170
|
+
switch (_context2.prev = _context2.next) {
|
|
171
|
+
case 0:
|
|
172
|
+
onChange = jest.fn();
|
|
173
|
+
_render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
174
|
+
label: "With format MM/dd/yyyy",
|
|
175
|
+
format: "MM/dd/yyyy",
|
|
176
|
+
onChange: onChange
|
|
177
|
+
})), getByRole = _render5.getByRole;
|
|
178
|
+
input = getByRole("textbox");
|
|
179
|
+
|
|
180
|
+
_userEvent["default"].click(input);
|
|
181
|
+
|
|
182
|
+
_context2.next = 6;
|
|
183
|
+
return _userEvent["default"].keyboard("10");
|
|
184
|
+
|
|
185
|
+
case 6:
|
|
186
|
+
_context2.next = 8;
|
|
187
|
+
return _userEvent["default"].keyboard("/");
|
|
188
|
+
|
|
189
|
+
case 8:
|
|
190
|
+
_context2.next = 10;
|
|
191
|
+
return _userEvent["default"].keyboard("90");
|
|
192
|
+
|
|
193
|
+
case 10:
|
|
194
|
+
_context2.next = 12;
|
|
195
|
+
return _userEvent["default"].keyboard("/");
|
|
196
|
+
|
|
197
|
+
case 12:
|
|
198
|
+
_context2.next = 14;
|
|
199
|
+
return _userEvent["default"].keyboard("2010");
|
|
200
|
+
|
|
201
|
+
case 14:
|
|
202
|
+
expect(onChange).toHaveBeenCalledTimes(10);
|
|
203
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
204
|
+
value: "10/90/2010",
|
|
205
|
+
error: "Invalid date."
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
case 16:
|
|
209
|
+
case "end":
|
|
210
|
+
return _context2.stop();
|
|
211
|
+
}
|
|
168
212
|
}
|
|
169
213
|
}, _callee2);
|
|
170
214
|
})));
|
|
171
215
|
test("Calendar renders with correct date: today's date", function () {
|
|
172
216
|
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], null)),
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
217
|
+
getByText = _render6.getByText,
|
|
218
|
+
getByRole = _render6.getByRole,
|
|
219
|
+
getAllByText = _render6.getAllByText;
|
|
220
|
+
|
|
176
221
|
var calendarAction = getByRole("combobox");
|
|
177
222
|
var d = (0, _dayjs["default"])();
|
|
223
|
+
|
|
178
224
|
_userEvent["default"].click(calendarAction);
|
|
225
|
+
|
|
179
226
|
expect(document.activeElement === getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0]).toBeTruthy();
|
|
180
227
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
181
228
|
});
|
|
182
229
|
test("Calendar renders with correct date: value prop", function () {
|
|
183
230
|
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
231
|
+
value: "20-10-2019"
|
|
232
|
+
})),
|
|
233
|
+
getByText = _render7.getByText,
|
|
234
|
+
getByRole = _render7.getByRole,
|
|
235
|
+
getAllByText = _render7.getAllByText;
|
|
236
|
+
|
|
189
237
|
var calendarAction = getByRole("combobox");
|
|
190
238
|
var d = (0, _dayjs["default"])("2019-10-20");
|
|
239
|
+
|
|
191
240
|
_userEvent["default"].click(calendarAction);
|
|
241
|
+
|
|
192
242
|
expect(getAllByText(d.get("date"))[0].getAttribute("aria-selected")).toBe("true");
|
|
193
243
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
194
244
|
});
|
|
195
245
|
test("Calendar renders with correct date: user typed value", function () {
|
|
196
246
|
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], null)),
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
247
|
+
getByText = _render8.getByText,
|
|
248
|
+
getByRole = _render8.getByRole,
|
|
249
|
+
getAllByText = _render8.getAllByText;
|
|
250
|
+
|
|
200
251
|
var calendarAction = getByRole("combobox");
|
|
201
252
|
var d = (0, _dayjs["default"])("2010-1-1");
|
|
202
253
|
var input = getByRole("textbox");
|
|
254
|
+
|
|
203
255
|
_userEvent["default"].type(input, "01-01-2010");
|
|
256
|
+
|
|
204
257
|
_userEvent["default"].click(calendarAction);
|
|
258
|
+
|
|
205
259
|
expect(getAllByText(d.get("date"))[0].getAttribute("aria-selected")).toBe("true");
|
|
206
260
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
207
261
|
});
|
|
208
262
|
test("Calendar renders with correct date: invalid date, renders with today's date", function () {
|
|
209
263
|
var onBlur = jest.fn();
|
|
264
|
+
|
|
210
265
|
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
266
|
+
onBlur: onBlur
|
|
267
|
+
})),
|
|
268
|
+
getByText = _render9.getByText,
|
|
269
|
+
getByRole = _render9.getByRole,
|
|
270
|
+
getAllByText = _render9.getAllByText;
|
|
271
|
+
|
|
216
272
|
var calendarAction = getByRole("combobox");
|
|
217
273
|
var d = (0, _dayjs["default"])();
|
|
218
274
|
var input = getByRole("textbox");
|
|
275
|
+
|
|
219
276
|
_userEvent["default"].type(input, "01-01-xxxx");
|
|
277
|
+
|
|
220
278
|
_react2.fireEvent.blur(input);
|
|
279
|
+
|
|
221
280
|
expect(onBlur).toHaveBeenCalled();
|
|
222
281
|
expect(onBlur).toHaveBeenCalledWith({
|
|
223
282
|
value: "01-01-xxxx",
|
|
224
283
|
error: "Invalid date."
|
|
225
284
|
});
|
|
285
|
+
|
|
226
286
|
_userEvent["default"].click(calendarAction);
|
|
287
|
+
|
|
227
288
|
expect(document.activeElement === getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0]).toBeTruthy();
|
|
228
289
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
229
290
|
});
|
|
230
291
|
test("Selecting a date from the calendar with an specific format", function () {
|
|
231
292
|
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
293
|
+
label: "With format M-dd-yyyy",
|
|
294
|
+
format: "M-dd-yyyy"
|
|
295
|
+
})),
|
|
296
|
+
getAllByText = _render10.getAllByText,
|
|
297
|
+
getByText = _render10.getByText,
|
|
298
|
+
getByRole = _render10.getByRole;
|
|
299
|
+
|
|
238
300
|
var input = getByRole("textbox");
|
|
239
301
|
var calendarAction = getByRole("combobox");
|
|
302
|
+
|
|
240
303
|
_userEvent["default"].click(calendarAction);
|
|
304
|
+
|
|
241
305
|
var dayButton = getAllByText("10")[0].closest("button");
|
|
306
|
+
|
|
242
307
|
_react2.fireEvent.click(dayButton);
|
|
308
|
+
|
|
243
309
|
var d = (0, _dayjs["default"])();
|
|
244
310
|
d = d.set("date", 10);
|
|
245
311
|
expect(getAllByText(d.get("date"))[0].getAttribute("aria-selected")).toBe("true");
|
|
246
312
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
313
|
+
|
|
247
314
|
_react2.fireEvent.keyDown(document, {
|
|
248
315
|
key: "Escape",
|
|
249
316
|
code: "Escape",
|
|
250
317
|
keyCode: 27,
|
|
251
318
|
charCode: 27
|
|
252
319
|
});
|
|
320
|
+
|
|
253
321
|
expect(input.value).toBe(d.format("M-DD-YYYY"));
|
|
254
322
|
});
|
|
255
323
|
test("Changing months using the arrows", function () {
|
|
256
324
|
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
325
|
+
label: "label",
|
|
326
|
+
format: "dd-mm-yyyy",
|
|
327
|
+
defaultValue: "10-10-2000"
|
|
328
|
+
})),
|
|
329
|
+
getByText = _render11.getByText,
|
|
330
|
+
getByRole = _render11.getByRole,
|
|
331
|
+
getByTitle = _render11.getByTitle;
|
|
332
|
+
|
|
264
333
|
var calendarAction = getByRole("combobox");
|
|
334
|
+
|
|
265
335
|
_userEvent["default"].click(calendarAction);
|
|
336
|
+
|
|
266
337
|
var d = (0, _dayjs["default"])("10-10-2000", "DD-MM-YYYY", true);
|
|
267
338
|
d = d.set("date", 10);
|
|
268
339
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
269
340
|
var previousMonth = getByTitle("Previous month");
|
|
341
|
+
|
|
270
342
|
_userEvent["default"].click(previousMonth);
|
|
343
|
+
|
|
271
344
|
expect(getByText(d.set("month", d.get("month") - 1).format("MMMM YYYY"))).toBeTruthy();
|
|
272
345
|
var nextMonth = getByTitle("Next month");
|
|
346
|
+
|
|
273
347
|
_userEvent["default"].click(nextMonth);
|
|
348
|
+
|
|
274
349
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
275
350
|
});
|
|
276
351
|
test("Selecting a date from the calendar from another month", function () {
|
|
277
352
|
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
353
|
+
format: "dd-mm-yyyy",
|
|
354
|
+
defaultValue: "10-08-2021"
|
|
355
|
+
})),
|
|
356
|
+
getAllByText = _render12.getAllByText,
|
|
357
|
+
getByText = _render12.getByText,
|
|
358
|
+
getByRole = _render12.getByRole;
|
|
359
|
+
|
|
284
360
|
var input = getByRole("textbox");
|
|
285
361
|
var calendarAction = getByRole("combobox");
|
|
362
|
+
|
|
286
363
|
_userEvent["default"].click(calendarAction);
|
|
364
|
+
|
|
287
365
|
var dayButton = getAllByText("31")[0].closest("button");
|
|
366
|
+
|
|
288
367
|
_react2.fireEvent.click(dayButton);
|
|
368
|
+
|
|
289
369
|
var d = (0, _dayjs["default"])("10-08-2021", "DD-MM-YYYY", true);
|
|
290
370
|
d = d.set("date", 31).set("month", 6);
|
|
291
371
|
expect(getAllByText(d.get("date"))[0].getAttribute("aria-selected")).toBe("true");
|
|
292
372
|
expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
|
|
373
|
+
|
|
293
374
|
_react2.fireEvent.keyDown(document, {
|
|
294
375
|
key: "Escape",
|
|
295
376
|
code: "Escape",
|
|
296
377
|
keyCode: 27,
|
|
297
378
|
charCode: 27
|
|
298
379
|
});
|
|
380
|
+
|
|
299
381
|
expect(input.value).toBe(d.format("DD-MM-YYYY"));
|
|
300
382
|
});
|
|
301
383
|
test("Selecting a year from the calendar year picker", function () {
|
|
302
384
|
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
385
|
+
format: "dd-mm-yyyy",
|
|
386
|
+
defaultValue: "10-08-2021"
|
|
387
|
+
})),
|
|
388
|
+
getByText = _render13.getByText,
|
|
389
|
+
getByRole = _render13.getByRole;
|
|
390
|
+
|
|
308
391
|
var input = getByRole("textbox");
|
|
309
392
|
var calendarAction = getByRole("combobox");
|
|
393
|
+
|
|
310
394
|
_userEvent["default"].click(calendarAction);
|
|
395
|
+
|
|
311
396
|
var d = (0, _dayjs["default"])("10-08-2021", "DD-MM-YYYY", true);
|
|
397
|
+
|
|
312
398
|
_userEvent["default"].click(getByText(d.format("MMMM YYYY")));
|
|
399
|
+
|
|
313
400
|
expect(getByText("2024")).toBeTruthy();
|
|
401
|
+
|
|
314
402
|
_userEvent["default"].click(getByText("2024"));
|
|
403
|
+
|
|
315
404
|
_userEvent["default"].click(getByText(d.set("year", 2024).format("MMMM YYYY")));
|
|
405
|
+
|
|
316
406
|
_react2.fireEvent.keyDown(document, {
|
|
317
407
|
key: "Escape",
|
|
318
408
|
code: "Escape",
|
|
319
409
|
keyCode: 27,
|
|
320
410
|
charCode: 27
|
|
321
411
|
});
|
|
412
|
+
|
|
322
413
|
expect(input.value).toBe(d.format("DD-MM-YYYY"));
|
|
323
414
|
});
|
|
324
415
|
test("Selecting a date from the calendar (using keyboard presses)", function () {
|
|
325
416
|
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], null)),
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
417
|
+
getByRole = _render14.getByRole,
|
|
418
|
+
getAllByText = _render14.getAllByText,
|
|
419
|
+
getByText = _render14.getByText;
|
|
420
|
+
|
|
329
421
|
var calendarAction = getByRole("combobox");
|
|
330
422
|
var input = getByRole("textbox");
|
|
423
|
+
|
|
331
424
|
_userEvent["default"].type(input, "01-01-2010");
|
|
425
|
+
|
|
332
426
|
expect(input.value).toBe("01-01-2010");
|
|
427
|
+
|
|
333
428
|
_userEvent["default"].click(calendarAction);
|
|
429
|
+
|
|
334
430
|
expect(document.activeElement === getAllByText("1")[0].closest("button")).toBeTruthy();
|
|
431
|
+
|
|
335
432
|
_react2.fireEvent.keyDown(getAllByText("1")[0].closest("button"), {
|
|
336
433
|
key: "ArrowRight",
|
|
337
434
|
code: "ArrowRight",
|
|
338
435
|
keyCode: 39,
|
|
339
436
|
charCode: 39
|
|
340
437
|
});
|
|
438
|
+
|
|
341
439
|
expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
|
|
440
|
+
|
|
342
441
|
_react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
|
|
343
442
|
key: "PageUp",
|
|
344
443
|
code: "PageUp",
|
|
345
444
|
keyCode: 33,
|
|
346
445
|
charCode: 33
|
|
347
446
|
});
|
|
447
|
+
|
|
348
448
|
expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
|
|
349
449
|
expect(getByText("December 2009")).toBeTruthy();
|
|
450
|
+
|
|
350
451
|
_react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
|
|
351
452
|
key: "PageDown",
|
|
352
453
|
code: "PageDown",
|
|
353
454
|
keyCode: 34,
|
|
354
455
|
charCode: 34
|
|
355
456
|
});
|
|
457
|
+
|
|
356
458
|
expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
|
|
357
459
|
expect(getByText("January 2010")).toBeTruthy();
|
|
460
|
+
|
|
358
461
|
_react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
|
|
359
462
|
key: "PageDown",
|
|
360
463
|
code: "PageDown",
|
|
@@ -362,7 +465,9 @@ describe("DateInput component tests", function () {
|
|
|
362
465
|
charCode: 34,
|
|
363
466
|
shiftKey: true
|
|
364
467
|
});
|
|
468
|
+
|
|
365
469
|
expect(getByText("January 2011")).toBeTruthy();
|
|
470
|
+
|
|
366
471
|
_react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
|
|
367
472
|
key: "PageUp",
|
|
368
473
|
code: "PageUp",
|
|
@@ -370,93 +475,120 @@ describe("DateInput component tests", function () {
|
|
|
370
475
|
charCode: 33,
|
|
371
476
|
shiftKey: true
|
|
372
477
|
});
|
|
478
|
+
|
|
373
479
|
expect(getByText("January 2010")).toBeTruthy();
|
|
374
480
|
expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
|
|
481
|
+
|
|
375
482
|
_react2.fireEvent.click(getAllByText("2")[0].closest("button"), {
|
|
376
483
|
key: " ",
|
|
377
484
|
code: "Space",
|
|
378
485
|
keyCode: 32,
|
|
379
486
|
charCode: 32
|
|
380
487
|
});
|
|
488
|
+
|
|
381
489
|
expect(getAllByText("2")[0].closest("button").getAttribute("aria-selected")).toBe("true");
|
|
490
|
+
|
|
382
491
|
_react2.fireEvent.keyDown(document, {
|
|
383
492
|
key: "Escape",
|
|
384
493
|
code: "Escape",
|
|
385
494
|
keyCode: 27,
|
|
386
495
|
charCode: 27
|
|
387
496
|
});
|
|
497
|
+
|
|
388
498
|
expect(input.value).toBe("02-01-2010");
|
|
389
499
|
});
|
|
390
500
|
test("Selecting a date from the calendar (using keyboard presses) part II", function () {
|
|
391
501
|
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], null)),
|
|
392
|
-
|
|
393
|
-
|
|
502
|
+
getByRole = _render15.getByRole,
|
|
503
|
+
getAllByText = _render15.getAllByText;
|
|
504
|
+
|
|
394
505
|
var calendarAction = getByRole("combobox");
|
|
395
506
|
var input = getByRole("textbox");
|
|
507
|
+
|
|
396
508
|
_userEvent["default"].type(input, "01-01-2010");
|
|
509
|
+
|
|
397
510
|
expect(input.value).toBe("01-01-2010");
|
|
511
|
+
|
|
398
512
|
_userEvent["default"].click(calendarAction);
|
|
513
|
+
|
|
399
514
|
expect(document.activeElement === getAllByText("1")[0].closest("button")).toBeTruthy();
|
|
515
|
+
|
|
400
516
|
_react2.fireEvent.keyDown(getAllByText("1")[0].closest("button"), {
|
|
401
517
|
key: "ArrowDown",
|
|
402
518
|
code: "ArrowDown",
|
|
403
519
|
keyCode: 40,
|
|
404
520
|
charCode: 40
|
|
405
521
|
});
|
|
522
|
+
|
|
406
523
|
expect(document.activeElement === getAllByText("8")[0].closest("button")).toBeTruthy();
|
|
524
|
+
|
|
407
525
|
_react2.fireEvent.keyDown(getAllByText("8")[0].closest("button"), {
|
|
408
526
|
key: "ArrowDown",
|
|
409
527
|
code: "ArrowDown",
|
|
410
528
|
keyCode: 40,
|
|
411
529
|
charCode: 40
|
|
412
530
|
});
|
|
531
|
+
|
|
413
532
|
expect(document.activeElement === getAllByText("15")[0].closest("button")).toBeTruthy();
|
|
533
|
+
|
|
414
534
|
_react2.fireEvent.keyDown(getAllByText("15")[0].closest("button"), {
|
|
415
535
|
key: "ArrowUp",
|
|
416
536
|
code: "ArrowUp",
|
|
417
537
|
keyCode: 38,
|
|
418
538
|
charCode: 38
|
|
419
539
|
});
|
|
540
|
+
|
|
420
541
|
expect(document.activeElement === getAllByText("8")[0].closest("button")).toBeTruthy();
|
|
542
|
+
|
|
421
543
|
_react2.fireEvent.keyDown(getAllByText("8")[0].closest("button"), {
|
|
422
544
|
key: "End",
|
|
423
545
|
code: "End",
|
|
424
546
|
keyCode: 35,
|
|
425
547
|
charCode: 35
|
|
426
548
|
});
|
|
549
|
+
|
|
427
550
|
expect(document.activeElement === getAllByText("10")[0].closest("button")).toBeTruthy();
|
|
551
|
+
|
|
428
552
|
_react2.fireEvent.keyDown(getAllByText("10")[0].closest("button"), {
|
|
429
553
|
key: "Home",
|
|
430
554
|
code: "Home",
|
|
431
555
|
keyCode: 36,
|
|
432
556
|
charCode: 36
|
|
433
557
|
});
|
|
558
|
+
|
|
434
559
|
_react2.fireEvent.keyDown(getAllByText("10")[0].closest("button"), {
|
|
435
560
|
key: " ",
|
|
436
561
|
code: "Space",
|
|
437
562
|
keyCode: 32,
|
|
438
563
|
charCode: 32
|
|
439
564
|
});
|
|
565
|
+
|
|
440
566
|
expect(input.value).toBe("10-01-2010");
|
|
441
567
|
});
|
|
442
568
|
test("onChange & onBlur functions are called correctly", function () {
|
|
443
569
|
var onBlur = jest.fn();
|
|
444
570
|
var onChange = jest.fn();
|
|
571
|
+
|
|
445
572
|
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
573
|
+
onChange: onChange,
|
|
574
|
+
onBlur: onBlur
|
|
575
|
+
})),
|
|
576
|
+
getByRole = _render16.getByRole;
|
|
577
|
+
|
|
450
578
|
var input = getByRole("textbox");
|
|
451
579
|
var d = new Date(2011, 9, 10);
|
|
580
|
+
|
|
452
581
|
_userEvent["default"].type(input, "10-10-2011");
|
|
582
|
+
|
|
453
583
|
expect(input.value).toBe("10-10-2011");
|
|
454
584
|
expect(onChange).toHaveBeenCalledTimes(10);
|
|
455
585
|
expect(onChange).toHaveBeenCalledWith({
|
|
456
586
|
value: "10-10-2011",
|
|
457
587
|
date: d
|
|
458
588
|
});
|
|
589
|
+
|
|
459
590
|
_react2.fireEvent.blur(input);
|
|
591
|
+
|
|
460
592
|
expect(onBlur).toHaveBeenCalled();
|
|
461
593
|
expect(onBlur).toHaveBeenCalledWith({
|
|
462
594
|
value: "10-10-2011",
|
|
@@ -466,20 +598,26 @@ describe("DateInput component tests", function () {
|
|
|
466
598
|
test("onChange & onBlur functions are called correctly, also with errors", function () {
|
|
467
599
|
var onBlur = jest.fn();
|
|
468
600
|
var onChange = jest.fn();
|
|
601
|
+
|
|
469
602
|
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
603
|
+
onChange: onChange,
|
|
604
|
+
onBlur: onBlur
|
|
605
|
+
})),
|
|
606
|
+
getByRole = _render17.getByRole;
|
|
607
|
+
|
|
474
608
|
var input = getByRole("textbox");
|
|
609
|
+
|
|
475
610
|
_userEvent["default"].type(input, "10-10-");
|
|
611
|
+
|
|
476
612
|
expect(input.value).toBe("10-10-");
|
|
477
613
|
expect(onChange).toHaveBeenCalledTimes(6);
|
|
478
614
|
expect(onChange).toHaveBeenCalledWith({
|
|
479
615
|
value: "10-10-",
|
|
480
616
|
error: "Invalid date."
|
|
481
617
|
});
|
|
618
|
+
|
|
482
619
|
_react2.fireEvent.blur(input);
|
|
620
|
+
|
|
483
621
|
expect(onBlur).toHaveBeenCalled();
|
|
484
622
|
expect(onBlur).toHaveBeenCalledWith({
|
|
485
623
|
value: "10-10-",
|
|
@@ -488,24 +626,35 @@ describe("DateInput component tests", function () {
|
|
|
488
626
|
});
|
|
489
627
|
test("onBlur function removes the error when it is fixed", function () {
|
|
490
628
|
var onBlur = jest.fn();
|
|
629
|
+
|
|
491
630
|
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
631
|
+
onBlur: onBlur
|
|
632
|
+
})),
|
|
633
|
+
getByRole = _render18.getByRole;
|
|
634
|
+
|
|
495
635
|
var input = getByRole("textbox");
|
|
496
636
|
var d = new Date(2002, 1, 20);
|
|
637
|
+
|
|
497
638
|
_userEvent["default"].type(input, "test");
|
|
639
|
+
|
|
498
640
|
expect(input.value).toBe("test");
|
|
641
|
+
|
|
499
642
|
_react2.fireEvent.blur(input);
|
|
643
|
+
|
|
500
644
|
expect(onBlur).toHaveBeenCalled();
|
|
501
645
|
expect(onBlur).toHaveBeenCalledWith({
|
|
502
646
|
value: "test",
|
|
503
647
|
error: "Invalid date."
|
|
504
648
|
});
|
|
649
|
+
|
|
505
650
|
_userEvent["default"].clear(input);
|
|
651
|
+
|
|
506
652
|
_userEvent["default"].type(input, "20-02-2002");
|
|
653
|
+
|
|
507
654
|
expect(input.value).toBe("20-02-2002");
|
|
655
|
+
|
|
508
656
|
_react2.fireEvent.blur(input);
|
|
657
|
+
|
|
509
658
|
expect(onBlur).toHaveBeenCalled();
|
|
510
659
|
expect(onBlur).toHaveBeenCalledWith({
|
|
511
660
|
value: "20-02-2002",
|
|
@@ -514,22 +663,31 @@ describe("DateInput component tests", function () {
|
|
|
514
663
|
});
|
|
515
664
|
test("onBlur function removes the error when the input is empty", function () {
|
|
516
665
|
var onBlur = jest.fn();
|
|
666
|
+
|
|
517
667
|
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
668
|
+
onBlur: onBlur,
|
|
669
|
+
optional: true
|
|
670
|
+
})),
|
|
671
|
+
getByRole = _render19.getByRole;
|
|
672
|
+
|
|
522
673
|
var input = getByRole("textbox");
|
|
674
|
+
|
|
523
675
|
_userEvent["default"].type(input, "test");
|
|
676
|
+
|
|
524
677
|
expect(input.value).toBe("test");
|
|
678
|
+
|
|
525
679
|
_react2.fireEvent.blur(input);
|
|
680
|
+
|
|
526
681
|
expect(onBlur).toHaveBeenCalled();
|
|
527
682
|
expect(onBlur).toHaveBeenCalledWith({
|
|
528
683
|
value: "test",
|
|
529
684
|
error: "Invalid date."
|
|
530
685
|
});
|
|
686
|
+
|
|
531
687
|
_userEvent["default"].clear(input);
|
|
688
|
+
|
|
532
689
|
_react2.fireEvent.blur(input);
|
|
690
|
+
|
|
533
691
|
expect(onBlur).toHaveBeenCalled();
|
|
534
692
|
expect(onBlur).toHaveBeenCalledWith({
|
|
535
693
|
value: ""
|
|
@@ -538,16 +696,23 @@ describe("DateInput component tests", function () {
|
|
|
538
696
|
test("onBlur & onChange functions error: required field (not optional)", function () {
|
|
539
697
|
var onBlur = jest.fn();
|
|
540
698
|
var onChange = jest.fn();
|
|
699
|
+
|
|
541
700
|
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
701
|
+
onBlur: onBlur,
|
|
702
|
+
onChange: onChange
|
|
703
|
+
})),
|
|
704
|
+
getByRole = _render20.getByRole;
|
|
705
|
+
|
|
546
706
|
var date = getByRole("textbox");
|
|
707
|
+
|
|
547
708
|
_userEvent["default"].type(date, "t");
|
|
709
|
+
|
|
548
710
|
expect(date.value).toBe("t");
|
|
711
|
+
|
|
549
712
|
_userEvent["default"].clear(date);
|
|
713
|
+
|
|
550
714
|
_react2.fireEvent.blur(date);
|
|
715
|
+
|
|
551
716
|
expect(onBlur).toHaveBeenCalled();
|
|
552
717
|
expect(onBlur).toHaveBeenCalledWith({
|
|
553
718
|
value: "",
|
|
@@ -561,10 +726,11 @@ describe("DateInput component tests", function () {
|
|
|
561
726
|
});
|
|
562
727
|
test("Disabled date input (calendar action must be shown but not clickable)", function () {
|
|
563
728
|
var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
729
|
+
disabled: true
|
|
730
|
+
})),
|
|
731
|
+
getByRole = _render21.getByRole,
|
|
732
|
+
queryByText = _render21.queryByText;
|
|
733
|
+
|
|
568
734
|
var calendarAction = getByRole("button");
|
|
569
735
|
var d = new Date();
|
|
570
736
|
var options = {
|
|
@@ -573,14 +739,17 @@ describe("DateInput component tests", function () {
|
|
|
573
739
|
day: "numeric"
|
|
574
740
|
};
|
|
575
741
|
expect(getByRole("textbox").disabled).toBeTruthy();
|
|
742
|
+
|
|
576
743
|
_userEvent["default"].click(calendarAction);
|
|
744
|
+
|
|
577
745
|
expect(queryByText(d.toLocaleString("en-US", options))).toBeFalsy();
|
|
578
746
|
});
|
|
579
747
|
test("Input has correct accesibility attributes", function () {
|
|
580
748
|
var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
749
|
+
label: "Date input label"
|
|
750
|
+
})),
|
|
751
|
+
getByRole = _render22.getByRole;
|
|
752
|
+
|
|
584
753
|
var input = getByRole("textbox");
|
|
585
754
|
expect(input.getAttribute("aria-autocomplete")).toBeNull();
|
|
586
755
|
expect(input.getAttribute("aria-controls")).toBeNull();
|
|
@@ -591,58 +760,76 @@ describe("DateInput component tests", function () {
|
|
|
591
760
|
expect(calendarAction.getAttribute("aria-describedby")).toBeTruthy();
|
|
592
761
|
expect(calendarAction.getAttribute("aria-describedby") === calendarAction.getAttribute("aria-controls")).toBeTruthy();
|
|
593
762
|
expect(calendarAction.getAttribute("aria-expanded")).toBe("false");
|
|
763
|
+
|
|
594
764
|
_userEvent["default"].click(calendarAction);
|
|
765
|
+
|
|
595
766
|
var datePicker = getByRole("dialog");
|
|
596
767
|
expect(datePicker.getAttribute("aria-modal")).toBe("true");
|
|
597
768
|
expect(calendarAction.getAttribute("aria-expanded")).toBe("true");
|
|
598
769
|
expect(document.getElementById(calendarAction.getAttribute("aria-describedby"))).toBeTruthy();
|
|
770
|
+
|
|
599
771
|
_react2.fireEvent.keyDown(document, {
|
|
600
772
|
key: "Escape",
|
|
601
773
|
code: "Escape",
|
|
602
774
|
keyCode: 27,
|
|
603
775
|
charCode: 27
|
|
604
776
|
});
|
|
777
|
+
|
|
605
778
|
expect(calendarAction.getAttribute("aria-expanded")).toBe("false");
|
|
606
779
|
});
|
|
607
780
|
test("Chooses the correct year when two digit format", function () {
|
|
608
781
|
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
782
|
+
label: "Default label",
|
|
783
|
+
placeholder: "Placeholder",
|
|
784
|
+
format: "dd-mm-yy",
|
|
785
|
+
defaultValue: "21-10-80"
|
|
786
|
+
})),
|
|
787
|
+
getByText = _render23.getByText,
|
|
788
|
+
getByRole = _render23.getByRole,
|
|
789
|
+
getAllByText = _render23.getAllByText;
|
|
790
|
+
|
|
617
791
|
var input = getByRole("textbox");
|
|
618
792
|
var calendarAction = getByRole("combobox");
|
|
619
793
|
expect(input.value).toBe("21-10-80");
|
|
794
|
+
|
|
620
795
|
_userEvent["default"].click(calendarAction);
|
|
796
|
+
|
|
621
797
|
expect(getByText("21").getAttribute("aria-selected")).toBe("true");
|
|
622
798
|
expect(getByText("October 1980")).toBeTruthy();
|
|
799
|
+
|
|
623
800
|
_react2.fireEvent.keyDown(document, {
|
|
624
801
|
key: "Escape",
|
|
625
802
|
code: "Escape",
|
|
626
803
|
keyCode: 27,
|
|
627
804
|
charCode: 27
|
|
628
805
|
});
|
|
806
|
+
|
|
629
807
|
_react2.fireEvent.change(input, {
|
|
630
808
|
target: {
|
|
631
809
|
value: "21-10-10"
|
|
632
810
|
}
|
|
633
811
|
});
|
|
812
|
+
|
|
634
813
|
_userEvent["default"].click(calendarAction);
|
|
814
|
+
|
|
635
815
|
expect(getByText("October 1910")).toBeTruthy();
|
|
816
|
+
|
|
636
817
|
_userEvent["default"].click(getByText("October 1910"));
|
|
818
|
+
|
|
637
819
|
_userEvent["default"].click(getByText("2010"));
|
|
820
|
+
|
|
638
821
|
_userEvent["default"].click(getAllByText("1")[0]);
|
|
822
|
+
|
|
639
823
|
expect(input.value).toBe("01-10-10");
|
|
824
|
+
|
|
640
825
|
_react2.fireEvent.change(input, {
|
|
641
826
|
target: {
|
|
642
827
|
value: "21-10-80"
|
|
643
828
|
}
|
|
644
829
|
});
|
|
830
|
+
|
|
645
831
|
_userEvent["default"].click(calendarAction);
|
|
832
|
+
|
|
646
833
|
expect(getByText("October 2080")).toBeTruthy();
|
|
647
834
|
});
|
|
648
835
|
});
|