@pie-lib/config-ui 13.1.0-beta.7 → 14.0.0-next.35
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/dist/_virtual/_rolldown/runtime.js +11 -0
- package/dist/alert-dialog.d.ts +44 -0
- package/dist/alert-dialog.js +47 -0
- package/dist/checkbox.d.ts +34 -0
- package/dist/checkbox.js +57 -0
- package/dist/choice-configuration/feedback-menu.d.ts +32 -0
- package/dist/choice-configuration/feedback-menu.js +85 -0
- package/dist/choice-configuration/index.d.ts +62 -0
- package/dist/choice-configuration/index.js +240 -0
- package/dist/choice-utils.d.ts +21 -0
- package/dist/choice-utils.js +15 -0
- package/dist/feedback-config/feedback-selector.d.ts +33 -0
- package/dist/feedback-config/feedback-selector.js +92 -0
- package/dist/feedback-config/group.d.ts +21 -0
- package/dist/feedback-config/group.js +33 -0
- package/dist/feedback-config/index.d.ts +48 -0
- package/dist/feedback-config/index.js +96 -0
- package/dist/form-section.d.ts +25 -0
- package/dist/form-section.js +25 -0
- package/dist/fraction-to-number.d.ts +7 -0
- package/dist/fraction-to-number.js +9 -0
- package/dist/help.d.ts +41 -0
- package/dist/help.js +62 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +34 -0
- package/dist/input.d.ts +29 -0
- package/dist/input.js +65 -0
- package/dist/inputs.d.ts +63 -0
- package/dist/inputs.js +70 -0
- package/dist/langs.d.ts +41 -0
- package/dist/langs.js +76 -0
- package/dist/layout/config-layout.d.ts +10 -0
- package/dist/layout/config-layout.js +75 -0
- package/dist/layout/index.d.ts +11 -0
- package/dist/layout/index.js +10 -0
- package/dist/layout/layout-contents.d.ts +21 -0
- package/dist/layout/layout-contents.js +70 -0
- package/dist/layout/settings-box.d.ts +19 -0
- package/dist/layout/settings-box.js +32 -0
- package/dist/mui-box/index.d.ts +21 -0
- package/dist/mui-box/index.js +47 -0
- package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
- package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +7 -0
- package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +12 -0
- package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +8 -0
- package/dist/node_modules/.bun/react-measure@2.5.2_6dbf9a050bc9aadb/node_modules/react-measure/dist/index.esm.js +122 -0
- package/dist/node_modules/.bun/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +276 -0
- package/dist/number-text-field-custom.d.ts +51 -0
- package/dist/number-text-field-custom.js +192 -0
- package/dist/number-text-field.d.ts +47 -0
- package/dist/number-text-field.js +122 -0
- package/dist/radio-with-label.d.ts +25 -0
- package/dist/radio-with-label.js +27 -0
- package/dist/settings/display-size.d.ts +26 -0
- package/dist/settings/display-size.js +45 -0
- package/dist/settings/index.d.ts +45 -0
- package/dist/settings/index.js +63 -0
- package/dist/settings/panel.d.ts +27 -0
- package/dist/settings/panel.js +201 -0
- package/dist/settings/settings-radio-label.d.ts +25 -0
- package/dist/settings/settings-radio-label.js +29 -0
- package/dist/settings/toggle.d.ts +25 -0
- package/dist/settings/toggle.js +33 -0
- package/dist/tabs/index.d.ts +22 -0
- package/dist/tabs/index.js +39 -0
- package/dist/tags-input/index.d.ts +21 -0
- package/dist/tags-input/index.js +83 -0
- package/dist/two-choice.d.ts +43 -0
- package/dist/two-choice.js +79 -0
- package/dist/with-stateful-model.d.ts +42 -0
- package/dist/with-stateful-model.js +32 -0
- package/package.json +31 -19
- package/CHANGELOG.json +0 -32
- package/CHANGELOG.md +0 -2419
- package/lib/__tests__/alert-dialog.test.js +0 -262
- package/lib/__tests__/alert-dialog.test.js.map +0 -1
- package/lib/__tests__/checkbox.test.js +0 -227
- package/lib/__tests__/checkbox.test.js.map +0 -1
- package/lib/__tests__/choice-utils.test.js +0 -14
- package/lib/__tests__/choice-utils.test.js.map +0 -1
- package/lib/__tests__/form-section.test.js +0 -252
- package/lib/__tests__/form-section.test.js.map +0 -1
- package/lib/__tests__/help.test.js +0 -270
- package/lib/__tests__/help.test.js.map +0 -1
- package/lib/__tests__/input.test.js +0 -268
- package/lib/__tests__/input.test.js.map +0 -1
- package/lib/__tests__/langs.test.js +0 -541
- package/lib/__tests__/langs.test.js.map +0 -1
- package/lib/__tests__/number-text-field-custom.test.js +0 -362
- package/lib/__tests__/number-text-field-custom.test.js.map +0 -1
- package/lib/__tests__/number-text-field.test.js +0 -421
- package/lib/__tests__/number-text-field.test.js.map +0 -1
- package/lib/__tests__/radio-with-label.test.js +0 -233
- package/lib/__tests__/radio-with-label.test.js.map +0 -1
- package/lib/__tests__/settings-panel.test.js +0 -184
- package/lib/__tests__/settings-panel.test.js.map +0 -1
- package/lib/__tests__/settings.test.js +0 -653
- package/lib/__tests__/settings.test.js.map +0 -1
- package/lib/__tests__/tabs.test.js +0 -211
- package/lib/__tests__/tabs.test.js.map +0 -1
- package/lib/__tests__/two-choice.test.js +0 -124
- package/lib/__tests__/two-choice.test.js.map +0 -1
- package/lib/__tests__/with-stateful-model.test.js +0 -221
- package/lib/__tests__/with-stateful-model.test.js.map +0 -1
- package/lib/alert-dialog.js +0 -68
- package/lib/alert-dialog.js.map +0 -1
- package/lib/checkbox.js +0 -84
- package/lib/checkbox.js.map +0 -1
- package/lib/choice-configuration/__tests__/feedback-menu.test.js +0 -287
- package/lib/choice-configuration/__tests__/feedback-menu.test.js.map +0 -1
- package/lib/choice-configuration/__tests__/index.test.js +0 -253
- package/lib/choice-configuration/__tests__/index.test.js.map +0 -1
- package/lib/choice-configuration/feedback-menu.js +0 -129
- package/lib/choice-configuration/feedback-menu.js.map +0 -1
- package/lib/choice-configuration/index.js +0 -381
- package/lib/choice-configuration/index.js.map +0 -1
- package/lib/choice-utils.js +0 -42
- package/lib/choice-utils.js.map +0 -1
- package/lib/feedback-config/__tests__/feedback-config.test.js +0 -201
- package/lib/feedback-config/__tests__/feedback-config.test.js.map +0 -1
- package/lib/feedback-config/__tests__/feedback-selector.test.js +0 -177
- package/lib/feedback-config/__tests__/feedback-selector.test.js.map +0 -1
- package/lib/feedback-config/feedback-selector.js +0 -155
- package/lib/feedback-config/feedback-selector.js.map +0 -1
- package/lib/feedback-config/group.js +0 -61
- package/lib/feedback-config/group.js.map +0 -1
- package/lib/feedback-config/index.js +0 -146
- package/lib/feedback-config/index.js.map +0 -1
- package/lib/form-section.js +0 -44
- package/lib/form-section.js.map +0 -1
- package/lib/help.js +0 -106
- package/lib/help.js.map +0 -1
- package/lib/index.js +0 -186
- package/lib/index.js.map +0 -1
- package/lib/input.js +0 -106
- package/lib/input.js.map +0 -1
- package/lib/inputs.js +0 -105
- package/lib/inputs.js.map +0 -1
- package/lib/langs.js +0 -136
- package/lib/langs.js.map +0 -1
- package/lib/layout/__tests__/config.layout.test.js +0 -70
- package/lib/layout/__tests__/config.layout.test.js.map +0 -1
- package/lib/layout/__tests__/layout-content.test.js +0 -6
- package/lib/layout/__tests__/layout-content.test.js.map +0 -1
- package/lib/layout/config-layout.js +0 -137
- package/lib/layout/config-layout.js.map +0 -1
- package/lib/layout/index.js +0 -21
- package/lib/layout/index.js.map +0 -1
- package/lib/layout/layout-contents.js +0 -160
- package/lib/layout/layout-contents.js.map +0 -1
- package/lib/layout/settings-box.js +0 -57
- package/lib/layout/settings-box.js.map +0 -1
- package/lib/mui-box/index.js +0 -63
- package/lib/mui-box/index.js.map +0 -1
- package/lib/number-text-field-custom.js +0 -376
- package/lib/number-text-field-custom.js.map +0 -1
- package/lib/number-text-field.js +0 -229
- package/lib/number-text-field.js.map +0 -1
- package/lib/radio-with-label.js +0 -48
- package/lib/radio-with-label.js.map +0 -1
- package/lib/settings/display-size.js +0 -61
- package/lib/settings/display-size.js.map +0 -1
- package/lib/settings/index.js +0 -110
- package/lib/settings/index.js.map +0 -1
- package/lib/settings/panel.js +0 -392
- package/lib/settings/panel.js.map +0 -1
- package/lib/settings/settings-radio-label.js +0 -51
- package/lib/settings/settings-radio-label.js.map +0 -1
- package/lib/settings/toggle.js +0 -63
- package/lib/settings/toggle.js.map +0 -1
- package/lib/tabs/index.js +0 -75
- package/lib/tabs/index.js.map +0 -1
- package/lib/tags-input/__tests__/index.test.js +0 -183
- package/lib/tags-input/__tests__/index.test.js.map +0 -1
- package/lib/tags-input/index.js +0 -149
- package/lib/tags-input/index.js.map +0 -1
- package/lib/two-choice.js +0 -136
- package/lib/two-choice.js.map +0 -1
- package/lib/with-stateful-model.js +0 -61
- package/lib/with-stateful-model.js.map +0 -1
- package/src/__tests__/alert-dialog.test.jsx +0 -183
- package/src/__tests__/checkbox.test.jsx +0 -152
- package/src/__tests__/choice-utils.test.js +0 -12
- package/src/__tests__/form-section.test.jsx +0 -328
- package/src/__tests__/help.test.jsx +0 -184
- package/src/__tests__/input.test.jsx +0 -156
- package/src/__tests__/langs.test.jsx +0 -376
- package/src/__tests__/number-text-field-custom.test.jsx +0 -255
- package/src/__tests__/number-text-field.test.jsx +0 -263
- package/src/__tests__/radio-with-label.test.jsx +0 -155
- package/src/__tests__/settings-panel.test.js +0 -187
- package/src/__tests__/settings.test.jsx +0 -452
- package/src/__tests__/tabs.test.jsx +0 -188
- package/src/__tests__/two-choice.test.js +0 -110
- package/src/__tests__/with-stateful-model.test.jsx +0 -139
- package/src/alert-dialog.jsx +0 -75
- package/src/checkbox.jsx +0 -61
- package/src/choice-configuration/__tests__/feedback-menu.test.jsx +0 -151
- package/src/choice-configuration/__tests__/index.test.jsx +0 -234
- package/src/choice-configuration/feedback-menu.jsx +0 -96
- package/src/choice-configuration/index.jsx +0 -357
- package/src/choice-utils.js +0 -30
- package/src/feedback-config/__tests__/feedback-config.test.jsx +0 -141
- package/src/feedback-config/__tests__/feedback-selector.test.jsx +0 -97
- package/src/feedback-config/feedback-selector.jsx +0 -112
- package/src/feedback-config/group.jsx +0 -51
- package/src/feedback-config/index.jsx +0 -111
- package/src/form-section.jsx +0 -31
- package/src/help.jsx +0 -79
- package/src/index.js +0 -55
- package/src/input.jsx +0 -72
- package/src/inputs.jsx +0 -69
- package/src/langs.jsx +0 -111
- package/src/layout/__tests__/config.layout.test.jsx +0 -59
- package/src/layout/__tests__/layout-content.test.jsx +0 -3
- package/src/layout/config-layout.jsx +0 -103
- package/src/layout/index.js +0 -4
- package/src/layout/layout-contents.jsx +0 -117
- package/src/layout/settings-box.jsx +0 -32
- package/src/mui-box/index.jsx +0 -56
- package/src/number-text-field-custom.jsx +0 -333
- package/src/number-text-field.jsx +0 -215
- package/src/radio-with-label.jsx +0 -30
- package/src/settings/display-size.jsx +0 -53
- package/src/settings/index.js +0 -83
- package/src/settings/panel.jsx +0 -333
- package/src/settings/settings-radio-label.jsx +0 -32
- package/src/settings/toggle.jsx +0 -46
- package/src/tabs/index.jsx +0 -47
- package/src/tags-input/__tests__/index.test.jsx +0 -113
- package/src/tags-input/index.jsx +0 -116
- package/src/two-choice.jsx +0 -90
- package/src/with-stateful-model.jsx +0 -36
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
-
var _react = _interopRequireDefault(require("react"));
|
|
7
|
-
var _react2 = require("@testing-library/react");
|
|
8
|
-
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
9
|
-
var _alertDialog = _interopRequireDefault(require("../alert-dialog"));
|
|
10
|
-
describe('AlertDialog Component', function () {
|
|
11
|
-
var onClose = jest.fn();
|
|
12
|
-
var onConfirm = jest.fn();
|
|
13
|
-
beforeEach(function () {
|
|
14
|
-
onClose.mockClear();
|
|
15
|
-
onConfirm.mockClear();
|
|
16
|
-
});
|
|
17
|
-
describe('Rendering when open', function () {
|
|
18
|
-
it('should render dialog when open is true', function () {
|
|
19
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
20
|
-
open: true,
|
|
21
|
-
title: "Confirm",
|
|
22
|
-
text: "Are you sure?",
|
|
23
|
-
onClose: onClose,
|
|
24
|
-
onConfirm: onConfirm
|
|
25
|
-
}));
|
|
26
|
-
expect(_react2.screen.getByText('Confirm')).toBeInTheDocument();
|
|
27
|
-
expect(_react2.screen.getByText('Are you sure?')).toBeInTheDocument();
|
|
28
|
-
});
|
|
29
|
-
it('should not render dialog when open is false', function () {
|
|
30
|
-
var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
31
|
-
open: false,
|
|
32
|
-
title: "Confirm",
|
|
33
|
-
text: "Are you sure?",
|
|
34
|
-
onClose: onClose,
|
|
35
|
-
onConfirm: onConfirm
|
|
36
|
-
})),
|
|
37
|
-
container = _render.container;
|
|
38
|
-
var dialogs = container.querySelectorAll('[role="dialog"]');
|
|
39
|
-
expect(dialogs.length).toBe(0);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
describe('Title and Text', function () {
|
|
43
|
-
it('should handle both title and text', function () {
|
|
44
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
45
|
-
open: true,
|
|
46
|
-
title: "Important",
|
|
47
|
-
text: "This is an important message",
|
|
48
|
-
onClose: onClose,
|
|
49
|
-
onConfirm: onConfirm
|
|
50
|
-
}));
|
|
51
|
-
expect(_react2.screen.getByText('Important')).toBeInTheDocument();
|
|
52
|
-
expect(_react2.screen.getByText('This is an important message')).toBeInTheDocument();
|
|
53
|
-
});
|
|
54
|
-
it('should handle text as object', function () {
|
|
55
|
-
var textObj = /*#__PURE__*/_react["default"].createElement("div", null, "Rich text content");
|
|
56
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
57
|
-
open: true,
|
|
58
|
-
title: "Rich Content",
|
|
59
|
-
text: textObj,
|
|
60
|
-
onClose: onClose,
|
|
61
|
-
onConfirm: onConfirm
|
|
62
|
-
}));
|
|
63
|
-
expect(_react2.screen.getByText('Rich text content')).toBeInTheDocument();
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
describe('Buttons', function () {
|
|
67
|
-
it('should render close button when onClose is provided', function () {
|
|
68
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
69
|
-
open: true,
|
|
70
|
-
title: "Dialog",
|
|
71
|
-
text: "Content",
|
|
72
|
-
onClose: onClose,
|
|
73
|
-
onConfirm: onConfirm
|
|
74
|
-
}));
|
|
75
|
-
expect(_react2.screen.getByRole('button', {
|
|
76
|
-
name: 'CANCEL'
|
|
77
|
-
})).toBeInTheDocument();
|
|
78
|
-
});
|
|
79
|
-
it('should render confirm button when onConfirm is provided', function () {
|
|
80
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
81
|
-
open: true,
|
|
82
|
-
title: "Dialog",
|
|
83
|
-
text: "Content",
|
|
84
|
-
onClose: onClose,
|
|
85
|
-
onConfirm: onConfirm
|
|
86
|
-
}));
|
|
87
|
-
expect(_react2.screen.getByRole('button', {
|
|
88
|
-
name: 'OK'
|
|
89
|
-
})).toBeInTheDocument();
|
|
90
|
-
});
|
|
91
|
-
it('should have default button text', function () {
|
|
92
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
93
|
-
open: true,
|
|
94
|
-
title: "Dialog",
|
|
95
|
-
text: "Content",
|
|
96
|
-
onClose: onClose,
|
|
97
|
-
onConfirm: onConfirm
|
|
98
|
-
}));
|
|
99
|
-
expect(_react2.screen.getByRole('button', {
|
|
100
|
-
name: 'CANCEL'
|
|
101
|
-
})).toBeInTheDocument();
|
|
102
|
-
expect(_react2.screen.getByRole('button', {
|
|
103
|
-
name: 'OK'
|
|
104
|
-
})).toBeInTheDocument();
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
describe('User interactions', function () {
|
|
108
|
-
it('should call onClose when close button is clicked', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
109
|
-
var user, closeButton;
|
|
110
|
-
return _regenerator["default"].wrap(function (_context) {
|
|
111
|
-
while (1) switch (_context.prev = _context.next) {
|
|
112
|
-
case 0:
|
|
113
|
-
user = _userEvent["default"].setup();
|
|
114
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
115
|
-
open: true,
|
|
116
|
-
title: "Dialog",
|
|
117
|
-
text: "Content",
|
|
118
|
-
onClose: onClose,
|
|
119
|
-
onConfirm: onConfirm
|
|
120
|
-
}));
|
|
121
|
-
closeButton = _react2.screen.getByRole('button', {
|
|
122
|
-
name: 'CANCEL'
|
|
123
|
-
});
|
|
124
|
-
_context.next = 1;
|
|
125
|
-
return user.click(closeButton);
|
|
126
|
-
case 1:
|
|
127
|
-
expect(onClose).toHaveBeenCalled();
|
|
128
|
-
case 2:
|
|
129
|
-
case "end":
|
|
130
|
-
return _context.stop();
|
|
131
|
-
}
|
|
132
|
-
}, _callee);
|
|
133
|
-
})));
|
|
134
|
-
it('should call onConfirm when confirm button is clicked', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
135
|
-
var user, confirmButton;
|
|
136
|
-
return _regenerator["default"].wrap(function (_context2) {
|
|
137
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
138
|
-
case 0:
|
|
139
|
-
user = _userEvent["default"].setup();
|
|
140
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
141
|
-
open: true,
|
|
142
|
-
title: "Dialog",
|
|
143
|
-
text: "Content",
|
|
144
|
-
onClose: onClose,
|
|
145
|
-
onConfirm: onConfirm
|
|
146
|
-
}));
|
|
147
|
-
confirmButton = _react2.screen.getByRole('button', {
|
|
148
|
-
name: 'OK'
|
|
149
|
-
});
|
|
150
|
-
_context2.next = 1;
|
|
151
|
-
return user.click(confirmButton);
|
|
152
|
-
case 1:
|
|
153
|
-
expect(onConfirm).toHaveBeenCalled();
|
|
154
|
-
case 2:
|
|
155
|
-
case "end":
|
|
156
|
-
return _context2.stop();
|
|
157
|
-
}
|
|
158
|
-
}, _callee2);
|
|
159
|
-
})));
|
|
160
|
-
});
|
|
161
|
-
describe('Focus management', function () {
|
|
162
|
-
it('should have autoFocus on confirm button by default', function () {
|
|
163
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
164
|
-
open: true,
|
|
165
|
-
title: "Dialog",
|
|
166
|
-
text: "Content",
|
|
167
|
-
onClose: onClose,
|
|
168
|
-
onConfirm: onConfirm
|
|
169
|
-
}));
|
|
170
|
-
var confirmButton = _react2.screen.getByRole('button', {
|
|
171
|
-
name: 'OK'
|
|
172
|
-
});
|
|
173
|
-
expect(confirmButton).toBeInTheDocument();
|
|
174
|
-
});
|
|
175
|
-
it('should disable auto focus when disableAutoFocus is true', function () {
|
|
176
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
177
|
-
open: true,
|
|
178
|
-
title: "Dialog",
|
|
179
|
-
text: "Content",
|
|
180
|
-
onClose: onClose,
|
|
181
|
-
onConfirm: onConfirm,
|
|
182
|
-
disableAutoFocus: true
|
|
183
|
-
}));
|
|
184
|
-
expect(_react2.screen.getByText('Dialog')).toBeInTheDocument();
|
|
185
|
-
});
|
|
186
|
-
it('should disable enforce focus when disableEnforceFocus is true', function () {
|
|
187
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
188
|
-
open: true,
|
|
189
|
-
title: "Dialog",
|
|
190
|
-
text: "Content",
|
|
191
|
-
onClose: onClose,
|
|
192
|
-
onConfirm: onConfirm,
|
|
193
|
-
disableEnforceFocus: true
|
|
194
|
-
}));
|
|
195
|
-
expect(_react2.screen.getByText('Dialog')).toBeInTheDocument();
|
|
196
|
-
});
|
|
197
|
-
it('should disable restore focus when disableRestoreFocus is true', function () {
|
|
198
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
199
|
-
open: true,
|
|
200
|
-
title: "Dialog",
|
|
201
|
-
text: "Content",
|
|
202
|
-
onClose: onClose,
|
|
203
|
-
onConfirm: onConfirm,
|
|
204
|
-
disableRestoreFocus: true
|
|
205
|
-
}));
|
|
206
|
-
expect(_react2.screen.getByText('Dialog')).toBeInTheDocument();
|
|
207
|
-
});
|
|
208
|
-
});
|
|
209
|
-
describe('Edge cases', function () {
|
|
210
|
-
it('should handle very long title', function () {
|
|
211
|
-
var longTitle = 'This is a very long title that should wrap properly in the dialog';
|
|
212
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
213
|
-
open: true,
|
|
214
|
-
title: longTitle,
|
|
215
|
-
text: "Content",
|
|
216
|
-
onClose: onClose,
|
|
217
|
-
onConfirm: onConfirm
|
|
218
|
-
}));
|
|
219
|
-
expect(_react2.screen.getByText(longTitle)).toBeInTheDocument();
|
|
220
|
-
});
|
|
221
|
-
it('should handle very long text', function () {
|
|
222
|
-
var longText = 'This is a very long text that should wrap properly in the dialog. '.repeat(10);
|
|
223
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
224
|
-
open: true,
|
|
225
|
-
title: "Dialog",
|
|
226
|
-
text: longText,
|
|
227
|
-
onClose: onClose,
|
|
228
|
-
onConfirm: onConfirm
|
|
229
|
-
}));
|
|
230
|
-
expect(_react2.screen.getByText(new RegExp(longText.slice(0, 50)))).toBeInTheDocument();
|
|
231
|
-
});
|
|
232
|
-
it('should handle only close callback', function () {
|
|
233
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
234
|
-
open: true,
|
|
235
|
-
title: "Close Only",
|
|
236
|
-
text: "Content",
|
|
237
|
-
onClose: onClose
|
|
238
|
-
}));
|
|
239
|
-
expect(_react2.screen.getByRole('button', {
|
|
240
|
-
name: 'CANCEL'
|
|
241
|
-
})).toBeInTheDocument();
|
|
242
|
-
expect(_react2.screen.queryByRole('button', {
|
|
243
|
-
name: 'OK'
|
|
244
|
-
})).not.toBeInTheDocument();
|
|
245
|
-
});
|
|
246
|
-
it('should handle only confirm callback', function () {
|
|
247
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_alertDialog["default"], {
|
|
248
|
-
open: true,
|
|
249
|
-
title: "Confirm Only",
|
|
250
|
-
text: "Content",
|
|
251
|
-
onConfirm: onConfirm
|
|
252
|
-
}));
|
|
253
|
-
expect(_react2.screen.getByRole('button', {
|
|
254
|
-
name: 'OK'
|
|
255
|
-
})).toBeInTheDocument();
|
|
256
|
-
expect(_react2.screen.queryByRole('button', {
|
|
257
|
-
name: 'CANCEL'
|
|
258
|
-
})).not.toBeInTheDocument();
|
|
259
|
-
});
|
|
260
|
-
});
|
|
261
|
-
});
|
|
262
|
-
//# sourceMappingURL=alert-dialog.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog.test.js","names":["_react","_interopRequireDefault","require","_react2","_userEvent","_alertDialog","describe","onClose","jest","fn","onConfirm","beforeEach","mockClear","it","render","createElement","open","title","text","expect","screen","getByText","toBeInTheDocument","_render","container","dialogs","querySelectorAll","length","toBe","textObj","getByRole","name","_asyncToGenerator2","_regenerator","mark","_callee","user","closeButton","wrap","_context","prev","next","userEvent","setup","click","toHaveBeenCalled","stop","_callee2","confirmButton","_context2","disableAutoFocus","disableEnforceFocus","disableRestoreFocus","longTitle","longText","repeat","RegExp","slice","queryByRole","not"],"sources":["../../src/__tests__/alert-dialog.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport AlertDialog from '../alert-dialog';\n\ndescribe('AlertDialog Component', () => {\n const onClose = jest.fn();\n const onConfirm = jest.fn();\n\n beforeEach(() => {\n onClose.mockClear();\n onConfirm.mockClear();\n });\n\n describe('Rendering when open', () => {\n it('should render dialog when open is true', () => {\n render(<AlertDialog open={true} title=\"Confirm\" text=\"Are you sure?\" onClose={onClose} onConfirm={onConfirm} />);\n\n expect(screen.getByText('Confirm')).toBeInTheDocument();\n expect(screen.getByText('Are you sure?')).toBeInTheDocument();\n });\n\n it('should not render dialog when open is false', () => {\n const { container } = render(\n <AlertDialog open={false} title=\"Confirm\" text=\"Are you sure?\" onClose={onClose} onConfirm={onConfirm} />,\n );\n\n const dialogs = container.querySelectorAll('[role=\"dialog\"]');\n expect(dialogs.length).toBe(0);\n });\n });\n\n describe('Title and Text', () => {\n it('should handle both title and text', () => {\n render(\n <AlertDialog\n open={true}\n title=\"Important\"\n text=\"This is an important message\"\n onClose={onClose}\n onConfirm={onConfirm}\n />,\n );\n\n expect(screen.getByText('Important')).toBeInTheDocument();\n expect(screen.getByText('This is an important message')).toBeInTheDocument();\n });\n\n it('should handle text as object', () => {\n const textObj = <div>Rich text content</div>;\n render(<AlertDialog open={true} title=\"Rich Content\" text={textObj} onClose={onClose} onConfirm={onConfirm} />);\n\n expect(screen.getByText('Rich text content')).toBeInTheDocument();\n });\n });\n\n describe('Buttons', () => {\n it('should render close button when onClose is provided', () => {\n render(<AlertDialog open={true} title=\"Dialog\" text=\"Content\" onClose={onClose} onConfirm={onConfirm} />);\n\n expect(screen.getByRole('button', { name: 'CANCEL' })).toBeInTheDocument();\n });\n\n it('should render confirm button when onConfirm is provided', () => {\n render(<AlertDialog open={true} title=\"Dialog\" text=\"Content\" onClose={onClose} onConfirm={onConfirm} />);\n\n expect(screen.getByRole('button', { name: 'OK' })).toBeInTheDocument();\n });\n\n it('should have default button text', () => {\n render(<AlertDialog open={true} title=\"Dialog\" text=\"Content\" onClose={onClose} onConfirm={onConfirm} />);\n\n expect(screen.getByRole('button', { name: 'CANCEL' })).toBeInTheDocument();\n expect(screen.getByRole('button', { name: 'OK' })).toBeInTheDocument();\n });\n });\n\n describe('User interactions', () => {\n it('should call onClose when close button is clicked', async () => {\n const user = userEvent.setup();\n render(<AlertDialog open={true} title=\"Dialog\" text=\"Content\" onClose={onClose} onConfirm={onConfirm} />);\n\n const closeButton = screen.getByRole('button', { name: 'CANCEL' });\n await user.click(closeButton);\n\n expect(onClose).toHaveBeenCalled();\n });\n\n it('should call onConfirm when confirm button is clicked', async () => {\n const user = userEvent.setup();\n render(<AlertDialog open={true} title=\"Dialog\" text=\"Content\" onClose={onClose} onConfirm={onConfirm} />);\n\n const confirmButton = screen.getByRole('button', { name: 'OK' });\n await user.click(confirmButton);\n\n expect(onConfirm).toHaveBeenCalled();\n });\n });\n\n describe('Focus management', () => {\n it('should have autoFocus on confirm button by default', () => {\n render(<AlertDialog open={true} title=\"Dialog\" text=\"Content\" onClose={onClose} onConfirm={onConfirm} />);\n\n const confirmButton = screen.getByRole('button', { name: 'OK' });\n expect(confirmButton).toBeInTheDocument();\n });\n\n it('should disable auto focus when disableAutoFocus is true', () => {\n render(\n <AlertDialog\n open={true}\n title=\"Dialog\"\n text=\"Content\"\n onClose={onClose}\n onConfirm={onConfirm}\n disableAutoFocus={true}\n />,\n );\n\n expect(screen.getByText('Dialog')).toBeInTheDocument();\n });\n\n it('should disable enforce focus when disableEnforceFocus is true', () => {\n render(\n <AlertDialog\n open={true}\n title=\"Dialog\"\n text=\"Content\"\n onClose={onClose}\n onConfirm={onConfirm}\n disableEnforceFocus={true}\n />,\n );\n\n expect(screen.getByText('Dialog')).toBeInTheDocument();\n });\n\n it('should disable restore focus when disableRestoreFocus is true', () => {\n render(\n <AlertDialog\n open={true}\n title=\"Dialog\"\n text=\"Content\"\n onClose={onClose}\n onConfirm={onConfirm}\n disableRestoreFocus={true}\n />,\n );\n\n expect(screen.getByText('Dialog')).toBeInTheDocument();\n });\n });\n\n describe('Edge cases', () => {\n it('should handle very long title', () => {\n const longTitle = 'This is a very long title that should wrap properly in the dialog';\n render(<AlertDialog open={true} title={longTitle} text=\"Content\" onClose={onClose} onConfirm={onConfirm} />);\n\n expect(screen.getByText(longTitle)).toBeInTheDocument();\n });\n\n it('should handle very long text', () => {\n const longText = 'This is a very long text that should wrap properly in the dialog. '.repeat(10);\n render(<AlertDialog open={true} title=\"Dialog\" text={longText} onClose={onClose} onConfirm={onConfirm} />);\n\n expect(screen.getByText(new RegExp(longText.slice(0, 50)))).toBeInTheDocument();\n });\n\n it('should handle only close callback', () => {\n render(<AlertDialog open={true} title=\"Close Only\" text=\"Content\" onClose={onClose} />);\n\n expect(screen.getByRole('button', { name: 'CANCEL' })).toBeInTheDocument();\n expect(screen.queryByRole('button', { name: 'OK' })).not.toBeInTheDocument();\n });\n\n it('should handle only confirm callback', () => {\n render(<AlertDialog open={true} title=\"Confirm Only\" text=\"Content\" onConfirm={onConfirm} />);\n\n expect(screen.getByRole('button', { name: 'OK' })).toBeInTheDocument();\n expect(screen.queryByRole('button', { name: 'CANCEL' })).not.toBeInTheDocument();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
-
var _react = _interopRequireDefault(require("react"));
|
|
7
|
-
var _react2 = require("@testing-library/react");
|
|
8
|
-
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
9
|
-
var _checkbox = _interopRequireDefault(require("../checkbox"));
|
|
10
|
-
describe('Checkbox Component', function () {
|
|
11
|
-
var onChange = jest.fn();
|
|
12
|
-
beforeEach(function () {
|
|
13
|
-
onChange.mockClear();
|
|
14
|
-
});
|
|
15
|
-
describe('Rendering', function () {
|
|
16
|
-
it('should render checkbox with label', function () {
|
|
17
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
18
|
-
checked: false,
|
|
19
|
-
onChange: onChange,
|
|
20
|
-
label: "Accept terms"
|
|
21
|
-
}));
|
|
22
|
-
expect(_react2.screen.getByText('Accept terms')).toBeInTheDocument();
|
|
23
|
-
expect(_react2.screen.getByRole('checkbox')).toBeInTheDocument();
|
|
24
|
-
});
|
|
25
|
-
it('should render checkbox in checked state', function () {
|
|
26
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
27
|
-
checked: true,
|
|
28
|
-
onChange: onChange,
|
|
29
|
-
label: "Accept terms"
|
|
30
|
-
}));
|
|
31
|
-
expect(_react2.screen.getByRole('checkbox')).toBeChecked();
|
|
32
|
-
});
|
|
33
|
-
it('should render checkbox in unchecked state', function () {
|
|
34
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
35
|
-
checked: false,
|
|
36
|
-
onChange: onChange,
|
|
37
|
-
label: "Accept terms"
|
|
38
|
-
}));
|
|
39
|
-
expect(_react2.screen.getByRole('checkbox')).not.toBeChecked();
|
|
40
|
-
});
|
|
41
|
-
it('should render mini checkbox with reduced styling', function () {
|
|
42
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
43
|
-
checked: false,
|
|
44
|
-
onChange: onChange,
|
|
45
|
-
label: "Mini",
|
|
46
|
-
mini: true
|
|
47
|
-
}));
|
|
48
|
-
expect(_react2.screen.getByRole('checkbox')).toBeInTheDocument();
|
|
49
|
-
expect(_react2.screen.getByText('Mini')).toBeInTheDocument();
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
describe('User interaction', function () {
|
|
53
|
-
it('should call onChange when checkbox is clicked', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
54
|
-
var user, checkbox;
|
|
55
|
-
return _regenerator["default"].wrap(function (_context) {
|
|
56
|
-
while (1) switch (_context.prev = _context.next) {
|
|
57
|
-
case 0:
|
|
58
|
-
user = _userEvent["default"].setup();
|
|
59
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
60
|
-
checked: false,
|
|
61
|
-
onChange: onChange,
|
|
62
|
-
label: "Accept"
|
|
63
|
-
}));
|
|
64
|
-
checkbox = _react2.screen.getByRole('checkbox');
|
|
65
|
-
_context.next = 1;
|
|
66
|
-
return user.click(checkbox);
|
|
67
|
-
case 1:
|
|
68
|
-
expect(onChange).toHaveBeenCalled();
|
|
69
|
-
case 2:
|
|
70
|
-
case "end":
|
|
71
|
-
return _context.stop();
|
|
72
|
-
}
|
|
73
|
-
}, _callee);
|
|
74
|
-
})));
|
|
75
|
-
it('should call onChange when label is clicked', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
76
|
-
var user, label;
|
|
77
|
-
return _regenerator["default"].wrap(function (_context2) {
|
|
78
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
79
|
-
case 0:
|
|
80
|
-
user = _userEvent["default"].setup();
|
|
81
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
82
|
-
checked: false,
|
|
83
|
-
onChange: onChange,
|
|
84
|
-
label: "Click label"
|
|
85
|
-
}));
|
|
86
|
-
label = _react2.screen.getByText('Click label');
|
|
87
|
-
_context2.next = 1;
|
|
88
|
-
return user.click(label);
|
|
89
|
-
case 1:
|
|
90
|
-
expect(onChange).toHaveBeenCalled();
|
|
91
|
-
case 2:
|
|
92
|
-
case "end":
|
|
93
|
-
return _context2.stop();
|
|
94
|
-
}
|
|
95
|
-
}, _callee2);
|
|
96
|
-
})));
|
|
97
|
-
});
|
|
98
|
-
describe('Props', function () {
|
|
99
|
-
it('should handle value prop', function () {
|
|
100
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
101
|
-
checked: true,
|
|
102
|
-
onChange: onChange,
|
|
103
|
-
label: "With value",
|
|
104
|
-
value: "option1"
|
|
105
|
-
}));
|
|
106
|
-
expect(_react2.screen.getByRole('checkbox')).toBeInTheDocument();
|
|
107
|
-
});
|
|
108
|
-
it('should display error styling when error is true', function () {
|
|
109
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
110
|
-
checked: false,
|
|
111
|
-
onChange: onChange,
|
|
112
|
-
label: "Error state",
|
|
113
|
-
error: true
|
|
114
|
-
}));
|
|
115
|
-
expect(_react2.screen.getByRole('checkbox')).toBeInTheDocument();
|
|
116
|
-
expect(_react2.screen.getByText('Error state')).toBeInTheDocument();
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
describe('Default props', function () {
|
|
120
|
-
it('should have mini default to false', function () {
|
|
121
|
-
var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
122
|
-
checked: true,
|
|
123
|
-
onChange: onChange,
|
|
124
|
-
label: "Test"
|
|
125
|
-
})),
|
|
126
|
-
container = _render.container;
|
|
127
|
-
expect(_react2.screen.getByRole('checkbox')).toBeInTheDocument();
|
|
128
|
-
});
|
|
129
|
-
it('should have error default to false', function () {
|
|
130
|
-
var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
131
|
-
checked: true,
|
|
132
|
-
onChange: onChange,
|
|
133
|
-
label: "Test"
|
|
134
|
-
})),
|
|
135
|
-
container = _render2.container;
|
|
136
|
-
expect(_react2.screen.getByRole('checkbox')).toBeInTheDocument();
|
|
137
|
-
});
|
|
138
|
-
it('should have value default to empty string', function () {
|
|
139
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
140
|
-
checked: true,
|
|
141
|
-
onChange: onChange,
|
|
142
|
-
label: "Test"
|
|
143
|
-
}));
|
|
144
|
-
expect(_react2.screen.getByRole('checkbox')).toBeInTheDocument();
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
describe('Accessibility', function () {
|
|
148
|
-
it('should have proper label association', function () {
|
|
149
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
150
|
-
checked: false,
|
|
151
|
-
onChange: onChange,
|
|
152
|
-
label: "Accessible label"
|
|
153
|
-
}));
|
|
154
|
-
expect(_react2.screen.getByLabelText('Accessible label')).toBeInTheDocument();
|
|
155
|
-
});
|
|
156
|
-
it('should be keyboard accessible', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
157
|
-
var user, checkbox;
|
|
158
|
-
return _regenerator["default"].wrap(function (_context3) {
|
|
159
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
160
|
-
case 0:
|
|
161
|
-
user = _userEvent["default"].setup();
|
|
162
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
163
|
-
checked: false,
|
|
164
|
-
onChange: onChange,
|
|
165
|
-
label: "Keyboard test"
|
|
166
|
-
}));
|
|
167
|
-
checkbox = _react2.screen.getByRole('checkbox');
|
|
168
|
-
checkbox.focus();
|
|
169
|
-
expect(checkbox).toHaveFocus();
|
|
170
|
-
_context3.next = 1;
|
|
171
|
-
return user.keyboard(' ');
|
|
172
|
-
case 1:
|
|
173
|
-
expect(onChange).toHaveBeenCalled();
|
|
174
|
-
case 2:
|
|
175
|
-
case "end":
|
|
176
|
-
return _context3.stop();
|
|
177
|
-
}
|
|
178
|
-
}, _callee3);
|
|
179
|
-
})));
|
|
180
|
-
});
|
|
181
|
-
describe('Multiple checkboxes', function () {
|
|
182
|
-
it('should render multiple independent checkboxes', function () {
|
|
183
|
-
var onChange1 = jest.fn();
|
|
184
|
-
var onChange2 = jest.fn();
|
|
185
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
186
|
-
checked: true,
|
|
187
|
-
onChange: onChange1,
|
|
188
|
-
label: "Option 1"
|
|
189
|
-
}), /*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
190
|
-
checked: false,
|
|
191
|
-
onChange: onChange2,
|
|
192
|
-
label: "Option 2"
|
|
193
|
-
})));
|
|
194
|
-
expect(_react2.screen.getByLabelText('Option 1')).toBeChecked();
|
|
195
|
-
expect(_react2.screen.getByLabelText('Option 2')).not.toBeChecked();
|
|
196
|
-
});
|
|
197
|
-
it('should handle independent onChange callbacks', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
198
|
-
var user, onChange1, onChange2;
|
|
199
|
-
return _regenerator["default"].wrap(function (_context4) {
|
|
200
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
201
|
-
case 0:
|
|
202
|
-
user = _userEvent["default"].setup();
|
|
203
|
-
onChange1 = jest.fn();
|
|
204
|
-
onChange2 = jest.fn();
|
|
205
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
206
|
-
checked: true,
|
|
207
|
-
onChange: onChange1,
|
|
208
|
-
label: "Option 1"
|
|
209
|
-
}), /*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
210
|
-
checked: false,
|
|
211
|
-
onChange: onChange2,
|
|
212
|
-
label: "Option 2"
|
|
213
|
-
})));
|
|
214
|
-
_context4.next = 1;
|
|
215
|
-
return user.click(_react2.screen.getByLabelText('Option 2'));
|
|
216
|
-
case 1:
|
|
217
|
-
expect(onChange2).toHaveBeenCalled();
|
|
218
|
-
expect(onChange1).not.toHaveBeenCalled();
|
|
219
|
-
case 2:
|
|
220
|
-
case "end":
|
|
221
|
-
return _context4.stop();
|
|
222
|
-
}
|
|
223
|
-
}, _callee4);
|
|
224
|
-
})));
|
|
225
|
-
});
|
|
226
|
-
});
|
|
227
|
-
//# sourceMappingURL=checkbox.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.test.js","names":["_react","_interopRequireDefault","require","_react2","_userEvent","_checkbox","describe","onChange","jest","fn","beforeEach","mockClear","it","render","createElement","checked","label","expect","screen","getByText","toBeInTheDocument","getByRole","toBeChecked","not","mini","_asyncToGenerator2","_regenerator","mark","_callee","user","checkbox","wrap","_context","prev","next","userEvent","setup","click","toHaveBeenCalled","stop","_callee2","_context2","value","error","_render","container","_render2","getByLabelText","_callee3","_context3","focus","toHaveFocus","keyboard","onChange1","onChange2","Fragment","_callee4","_context4"],"sources":["../../src/__tests__/checkbox.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport Checkbox from '../checkbox';\n\ndescribe('Checkbox Component', () => {\n const onChange = jest.fn();\n\n beforeEach(() => {\n onChange.mockClear();\n });\n\n describe('Rendering', () => {\n it('should render checkbox with label', () => {\n render(<Checkbox checked={false} onChange={onChange} label=\"Accept terms\" />);\n\n expect(screen.getByText('Accept terms')).toBeInTheDocument();\n expect(screen.getByRole('checkbox')).toBeInTheDocument();\n });\n\n it('should render checkbox in checked state', () => {\n render(<Checkbox checked={true} onChange={onChange} label=\"Accept terms\" />);\n\n expect(screen.getByRole('checkbox')).toBeChecked();\n });\n\n it('should render checkbox in unchecked state', () => {\n render(<Checkbox checked={false} onChange={onChange} label=\"Accept terms\" />);\n\n expect(screen.getByRole('checkbox')).not.toBeChecked();\n });\n\n it('should render mini checkbox with reduced styling', () => {\n render(<Checkbox checked={false} onChange={onChange} label=\"Mini\" mini={true} />);\n\n expect(screen.getByRole('checkbox')).toBeInTheDocument();\n expect(screen.getByText('Mini')).toBeInTheDocument();\n });\n });\n\n describe('User interaction', () => {\n it('should call onChange when checkbox is clicked', async () => {\n const user = userEvent.setup();\n render(<Checkbox checked={false} onChange={onChange} label=\"Accept\" />);\n\n const checkbox = screen.getByRole('checkbox');\n await user.click(checkbox);\n\n expect(onChange).toHaveBeenCalled();\n });\n\n it('should call onChange when label is clicked', async () => {\n const user = userEvent.setup();\n render(<Checkbox checked={false} onChange={onChange} label=\"Click label\" />);\n\n const label = screen.getByText('Click label');\n await user.click(label);\n\n expect(onChange).toHaveBeenCalled();\n });\n });\n\n describe('Props', () => {\n it('should handle value prop', () => {\n render(<Checkbox checked={true} onChange={onChange} label=\"With value\" value=\"option1\" />);\n\n expect(screen.getByRole('checkbox')).toBeInTheDocument();\n });\n\n it('should display error styling when error is true', () => {\n render(<Checkbox checked={false} onChange={onChange} label=\"Error state\" error={true} />);\n\n expect(screen.getByRole('checkbox')).toBeInTheDocument();\n expect(screen.getByText('Error state')).toBeInTheDocument();\n });\n });\n\n describe('Default props', () => {\n it('should have mini default to false', () => {\n const { container } = render(<Checkbox checked={true} onChange={onChange} label=\"Test\" />);\n\n expect(screen.getByRole('checkbox')).toBeInTheDocument();\n });\n\n it('should have error default to false', () => {\n const { container } = render(<Checkbox checked={true} onChange={onChange} label=\"Test\" />);\n\n expect(screen.getByRole('checkbox')).toBeInTheDocument();\n });\n\n it('should have value default to empty string', () => {\n render(<Checkbox checked={true} onChange={onChange} label=\"Test\" />);\n\n expect(screen.getByRole('checkbox')).toBeInTheDocument();\n });\n });\n\n describe('Accessibility', () => {\n it('should have proper label association', () => {\n render(<Checkbox checked={false} onChange={onChange} label=\"Accessible label\" />);\n\n expect(screen.getByLabelText('Accessible label')).toBeInTheDocument();\n });\n\n it('should be keyboard accessible', async () => {\n const user = userEvent.setup();\n render(<Checkbox checked={false} onChange={onChange} label=\"Keyboard test\" />);\n\n const checkbox = screen.getByRole('checkbox');\n checkbox.focus();\n expect(checkbox).toHaveFocus();\n\n await user.keyboard(' ');\n expect(onChange).toHaveBeenCalled();\n });\n });\n\n describe('Multiple checkboxes', () => {\n it('should render multiple independent checkboxes', () => {\n const onChange1 = jest.fn();\n const onChange2 = jest.fn();\n\n render(\n <>\n <Checkbox checked={true} onChange={onChange1} label=\"Option 1\" />\n <Checkbox checked={false} onChange={onChange2} label=\"Option 2\" />\n </>,\n );\n\n expect(screen.getByLabelText('Option 1')).toBeChecked();\n expect(screen.getByLabelText('Option 2')).not.toBeChecked();\n });\n\n it('should handle independent onChange callbacks', async () => {\n const user = userEvent.setup();\n const onChange1 = jest.fn();\n const onChange2 = jest.fn();\n\n render(\n <>\n <Checkbox checked={true} onChange={onChange1} label=\"Option 1\" />\n <Checkbox checked={false} onChange={onChange2} label=\"Option 2\" />\n </>,\n );\n\n await user.click(screen.getByLabelText('Option 2'));\n\n expect(onChange2).toHaveBeenCalled();\n expect(onChange1).not.toHaveBeenCalled();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _choiceUtils = require("../choice-utils");
|
|
4
|
-
describe('firstAvailableIndex', function () {
|
|
5
|
-
var assert = function assert(values, index, expected) {
|
|
6
|
-
it("[".concat(values.join(','), "], ").concat(index, " ==> ").concat(expected), function () {
|
|
7
|
-
expect((0, _choiceUtils.firstAvailableIndex)(['0'], 0)).toEqual('1');
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
assert(['0'], 0, '1');
|
|
11
|
-
assert(['0', '1', '2'], 0, '3');
|
|
12
|
-
assert(['0', '1', '2'], 100, '100');
|
|
13
|
-
});
|
|
14
|
-
//# sourceMappingURL=choice-utils.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"choice-utils.test.js","names":["_choiceUtils","require","describe","assert","values","index","expected","it","concat","join","expect","firstAvailableIndex","toEqual"],"sources":["../../src/__tests__/choice-utils.test.js"],"sourcesContent":["import { firstAvailableIndex } from '../choice-utils';\n\ndescribe('firstAvailableIndex', () => {\n const assert = (values, index, expected) => {\n it(`[${values.join(',')}], ${index} ==> ${expected}`, () => {\n expect(firstAvailableIndex(['0'], 0)).toEqual('1');\n });\n };\n assert(['0'], 0, '1');\n assert(['0', '1', '2'], 0, '3');\n assert(['0', '1', '2'], 100, '100');\n});\n"],"mappings":";;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,qBAAqB,EAAE,YAAM;EACpC,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAIC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAK;IAC1CC,EAAE,KAAAC,MAAA,CAAKJ,MAAM,CAACK,IAAI,CAAC,GAAG,CAAC,SAAAD,MAAA,CAAMH,KAAK,WAAAG,MAAA,CAAQF,QAAQ,GAAI,YAAM;MAC1DI,MAAM,CAAC,IAAAC,gCAAmB,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,GAAG,CAAC;IACpD,CAAC,CAAC;EACJ,CAAC;EACDT,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;EACrBA,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;EAC/BA,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;AACrC,CAAC,CAAC","ignoreList":[]}
|