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