@pie-lib/config-ui 12.0.0-beta.5 → 12.1.0-next.0
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/CHANGELOG.json +8 -1653
- package/CHANGELOG.md +345 -4
- package/LICENSE.md +5 -0
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/__tests__/alert-dialog.test.js +262 -0
- package/lib/__tests__/checkbox.test.js +227 -0
- package/lib/__tests__/choice-utils.test.js +14 -0
- package/lib/__tests__/form-section.test.js +252 -0
- package/lib/__tests__/help.test.js +270 -0
- package/lib/__tests__/input.test.js +268 -0
- package/lib/__tests__/langs.test.js +541 -0
- package/lib/__tests__/number-text-field-custom.test.js +362 -0
- package/lib/__tests__/number-text-field.test.js +421 -0
- package/lib/__tests__/radio-with-label.test.js +233 -0
- package/lib/__tests__/settings-panel.test.js +184 -0
- package/lib/__tests__/settings.test.js +653 -0
- package/lib/__tests__/tabs.test.js +211 -0
- package/lib/__tests__/two-choice.test.js +124 -0
- package/lib/__tests__/with-stateful-model.test.js +221 -0
- package/lib/alert-dialog.js +41 -11
- package/lib/alert-dialog.js.map +1 -1
- package/lib/checkbox.js +59 -49
- package/lib/checkbox.js.map +1 -1
- package/lib/choice-configuration/__tests__/feedback-menu.test.js +287 -0
- package/lib/choice-configuration/__tests__/index.test.js +253 -0
- package/lib/choice-configuration/feedback-menu.js +25 -27
- package/lib/choice-configuration/feedback-menu.js.map +1 -1
- package/lib/choice-configuration/index.js +183 -186
- package/lib/choice-configuration/index.js.map +1 -1
- package/lib/choice-utils.js +6 -8
- package/lib/choice-utils.js.map +1 -1
- package/lib/feedback-config/__tests__/feedback-config.test.js +201 -0
- package/lib/feedback-config/__tests__/feedback-selector.test.js +177 -0
- package/lib/feedback-config/feedback-selector.js +70 -74
- package/lib/feedback-config/feedback-selector.js.map +1 -1
- package/lib/feedback-config/group.js +23 -26
- package/lib/feedback-config/group.js.map +1 -1
- package/lib/feedback-config/index.js +42 -45
- package/lib/feedback-config/index.js.map +1 -1
- package/lib/form-section.js +32 -26
- package/lib/form-section.js.map +1 -1
- package/lib/help.js +38 -48
- package/lib/help.js.map +1 -1
- package/lib/index.js +2 -3
- package/lib/index.js.map +1 -1
- package/lib/input.js +13 -18
- package/lib/input.js.map +1 -1
- package/lib/inputs.js +59 -68
- package/lib/inputs.js.map +1 -1
- package/lib/langs.js +57 -71
- package/lib/langs.js.map +1 -1
- package/lib/layout/__tests__/config.layout.test.js +70 -0
- package/lib/layout/__tests__/layout-content.test.js +6 -0
- package/lib/layout/config-layout.js +79 -48
- package/lib/layout/config-layout.js.map +1 -1
- package/lib/layout/index.js +1 -1
- package/lib/layout/index.js.map +1 -1
- package/lib/layout/layout-contents.js +59 -61
- package/lib/layout/layout-contents.js.map +1 -1
- package/lib/layout/settings-box.js +26 -34
- package/lib/layout/settings-box.js.map +1 -1
- package/lib/mui-box/index.js +42 -51
- package/lib/mui-box/index.js.map +1 -1
- package/lib/number-text-field-custom.js +152 -90
- package/lib/number-text-field-custom.js.map +1 -1
- package/lib/number-text-field.js +75 -64
- package/lib/number-text-field.js.map +1 -1
- package/lib/radio-with-label.js +31 -17
- package/lib/radio-with-label.js.map +1 -1
- package/lib/settings/display-size.js +17 -21
- package/lib/settings/display-size.js.map +1 -1
- package/lib/settings/index.js +14 -20
- package/lib/settings/index.js.map +1 -1
- package/lib/settings/panel.js +141 -142
- package/lib/settings/panel.js.map +1 -1
- package/lib/settings/settings-radio-label.js +30 -17
- package/lib/settings/settings-radio-label.js.map +1 -1
- package/lib/settings/toggle.js +40 -26
- package/lib/settings/toggle.js.map +1 -1
- package/lib/tabs/index.js +19 -31
- package/lib/tabs/index.js.map +1 -1
- package/lib/tags-input/__tests__/index.test.js +183 -0
- package/lib/tags-input/index.js +50 -62
- package/lib/tags-input/index.js.map +1 -1
- package/lib/two-choice.js +34 -44
- package/lib/two-choice.js.map +1 -1
- package/lib/with-stateful-model.js +9 -13
- package/lib/with-stateful-model.js.map +1 -1
- package/package.json +14 -11
- package/src/__tests__/alert-dialog.test.jsx +283 -0
- package/src/__tests__/checkbox.test.jsx +249 -0
- package/src/__tests__/choice-utils.test.js +12 -0
- package/src/__tests__/form-section.test.jsx +334 -0
- package/src/__tests__/help.test.jsx +184 -0
- package/src/__tests__/input.test.jsx +192 -0
- package/src/__tests__/langs.test.jsx +457 -0
- package/src/__tests__/number-text-field-custom.test.jsx +438 -0
- package/src/__tests__/number-text-field.test.jsx +341 -0
- package/src/__tests__/radio-with-label.test.jsx +259 -0
- package/src/__tests__/settings-panel.test.js +187 -0
- package/src/__tests__/settings.test.jsx +515 -0
- package/src/__tests__/tabs.test.jsx +193 -0
- package/src/__tests__/two-choice.test.js +110 -0
- package/src/__tests__/with-stateful-model.test.jsx +145 -0
- package/src/alert-dialog.jsx +30 -8
- package/src/checkbox.jsx +43 -37
- package/src/choice-configuration/__tests__/feedback-menu.test.jsx +163 -0
- package/src/choice-configuration/__tests__/index.test.jsx +234 -0
- package/src/choice-configuration/feedback-menu.jsx +6 -6
- package/src/choice-configuration/index.jsx +208 -199
- package/src/feedback-config/__tests__/feedback-config.test.jsx +141 -0
- package/src/feedback-config/__tests__/feedback-selector.test.jsx +97 -0
- package/src/feedback-config/feedback-selector.jsx +50 -55
- package/src/feedback-config/group.jsx +21 -22
- package/src/feedback-config/index.jsx +27 -29
- package/src/form-section.jsx +26 -18
- package/src/help.jsx +20 -28
- package/src/input.jsx +1 -1
- package/src/inputs.jsx +35 -44
- package/src/langs.jsx +41 -46
- package/src/layout/__tests__/config.layout.test.jsx +59 -0
- package/src/layout/__tests__/layout-content.test.jsx +3 -0
- package/src/layout/config-layout.jsx +53 -23
- package/src/layout/layout-contents.jsx +38 -40
- package/src/layout/settings-box.jsx +16 -19
- package/src/mui-box/index.jsx +35 -43
- package/src/number-text-field-custom.jsx +117 -65
- package/src/number-text-field.jsx +51 -34
- package/src/radio-with-label.jsx +26 -10
- package/src/settings/display-size.jsx +12 -11
- package/src/settings/index.js +2 -1
- package/src/settings/panel.jsx +101 -92
- package/src/settings/settings-radio-label.jsx +26 -10
- package/src/settings/toggle.jsx +37 -18
- package/src/tabs/index.jsx +8 -8
- package/src/tags-input/__tests__/index.test.jsx +113 -0
- package/src/tags-input/index.jsx +35 -38
- package/src/two-choice.jsx +15 -19
- package/README.md +0 -12
|
@@ -0,0 +1,211 @@
|
|
|
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 _tabs = require("../tabs");
|
|
10
|
+
describe('Tabs Component', function () {
|
|
11
|
+
it('renders tabs with correct titles', function () {
|
|
12
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
13
|
+
title: "Tab 1"
|
|
14
|
+
}, "Content 1"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
15
|
+
title: "Tab 2"
|
|
16
|
+
}, "Content 2"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
17
|
+
title: "Tab 3"
|
|
18
|
+
}, "Content 3")));
|
|
19
|
+
expect(_react2.screen.getByText('Tab 1')).toBeInTheDocument();
|
|
20
|
+
expect(_react2.screen.getByText('Tab 2')).toBeInTheDocument();
|
|
21
|
+
expect(_react2.screen.getByText('Tab 3')).toBeInTheDocument();
|
|
22
|
+
});
|
|
23
|
+
it('renders first tab content by default', function () {
|
|
24
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
25
|
+
title: "Tab 1"
|
|
26
|
+
}, "Content 1"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
27
|
+
title: "Tab 2"
|
|
28
|
+
}, "Content 2"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
29
|
+
title: "Tab 3"
|
|
30
|
+
}, "Content 3")));
|
|
31
|
+
expect(_react2.screen.getByText('Content 1')).toBeInTheDocument();
|
|
32
|
+
expect(_react2.screen.queryByText('Content 2')).not.toBeInTheDocument();
|
|
33
|
+
expect(_react2.screen.queryByText('Content 3')).not.toBeInTheDocument();
|
|
34
|
+
});
|
|
35
|
+
it('switches to selected tab when clicked', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
36
|
+
var user, tab2;
|
|
37
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
38
|
+
while (1) switch (_context.prev = _context.next) {
|
|
39
|
+
case 0:
|
|
40
|
+
user = _userEvent["default"].setup();
|
|
41
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
42
|
+
title: "Tab 1"
|
|
43
|
+
}, "Content 1"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
44
|
+
title: "Tab 2"
|
|
45
|
+
}, "Content 2"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
46
|
+
title: "Tab 3"
|
|
47
|
+
}, "Content 3")));
|
|
48
|
+
tab2 = _react2.screen.getByRole('tab', {
|
|
49
|
+
name: 'Tab 2'
|
|
50
|
+
});
|
|
51
|
+
_context.next = 1;
|
|
52
|
+
return user.click(tab2);
|
|
53
|
+
case 1:
|
|
54
|
+
expect(_react2.screen.queryByText('Content 1')).not.toBeInTheDocument();
|
|
55
|
+
expect(_react2.screen.getByText('Content 2')).toBeInTheDocument();
|
|
56
|
+
expect(_react2.screen.queryByText('Content 3')).not.toBeInTheDocument();
|
|
57
|
+
case 2:
|
|
58
|
+
case "end":
|
|
59
|
+
return _context.stop();
|
|
60
|
+
}
|
|
61
|
+
}, _callee);
|
|
62
|
+
})));
|
|
63
|
+
it('displays correct content when multiple tabs are clicked', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
64
|
+
var user;
|
|
65
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
66
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
67
|
+
case 0:
|
|
68
|
+
user = _userEvent["default"].setup();
|
|
69
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
70
|
+
title: "Tab 1"
|
|
71
|
+
}, "Content 1"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
72
|
+
title: "Tab 2"
|
|
73
|
+
}, "Content 2"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
74
|
+
title: "Tab 3"
|
|
75
|
+
}, "Content 3")));
|
|
76
|
+
_context2.next = 1;
|
|
77
|
+
return user.click(_react2.screen.getByRole('tab', {
|
|
78
|
+
name: 'Tab 2'
|
|
79
|
+
}));
|
|
80
|
+
case 1:
|
|
81
|
+
expect(_react2.screen.getByText('Content 2')).toBeInTheDocument();
|
|
82
|
+
_context2.next = 2;
|
|
83
|
+
return user.click(_react2.screen.getByRole('tab', {
|
|
84
|
+
name: 'Tab 3'
|
|
85
|
+
}));
|
|
86
|
+
case 2:
|
|
87
|
+
expect(_react2.screen.getByText('Content 3')).toBeInTheDocument();
|
|
88
|
+
_context2.next = 3;
|
|
89
|
+
return user.click(_react2.screen.getByRole('tab', {
|
|
90
|
+
name: 'Tab 1'
|
|
91
|
+
}));
|
|
92
|
+
case 3:
|
|
93
|
+
expect(_react2.screen.getByText('Content 1')).toBeInTheDocument();
|
|
94
|
+
case 4:
|
|
95
|
+
case "end":
|
|
96
|
+
return _context2.stop();
|
|
97
|
+
}
|
|
98
|
+
}, _callee2);
|
|
99
|
+
})));
|
|
100
|
+
it('applies custom className to root element', function () {
|
|
101
|
+
var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, {
|
|
102
|
+
className: "custom-tabs-class"
|
|
103
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
104
|
+
title: "Tab 1"
|
|
105
|
+
}, "Content 1"))),
|
|
106
|
+
container = _render.container;
|
|
107
|
+
var rootDiv = container.querySelector('.custom-tabs-class');
|
|
108
|
+
expect(rootDiv).toBeInTheDocument();
|
|
109
|
+
});
|
|
110
|
+
it('handles tabs without title prop gracefully', function () {
|
|
111
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
112
|
+
title: "Tab 1"
|
|
113
|
+
}, "Content 1"), /*#__PURE__*/_react["default"].createElement("div", null, "No Title Child"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
114
|
+
title: "Tab 2"
|
|
115
|
+
}, "Content 2")));
|
|
116
|
+
var tabs = _react2.screen.getAllByRole('tab');
|
|
117
|
+
// Should only have 2 tabs since one doesn't have a title
|
|
118
|
+
expect(tabs).toHaveLength(2);
|
|
119
|
+
expect(_react2.screen.getByText('Tab 1')).toBeInTheDocument();
|
|
120
|
+
expect(_react2.screen.getByText('Tab 2')).toBeInTheDocument();
|
|
121
|
+
});
|
|
122
|
+
it('handles null children gracefully', function () {
|
|
123
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
124
|
+
title: "Tab 1"
|
|
125
|
+
}, "Content 1"), null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
126
|
+
title: "Tab 2"
|
|
127
|
+
}, "Content 2")));
|
|
128
|
+
var tabs = _react2.screen.getAllByRole('tab');
|
|
129
|
+
expect(tabs).toHaveLength(2);
|
|
130
|
+
});
|
|
131
|
+
it('handles complex content in tabs', function () {
|
|
132
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
133
|
+
title: "Tab 1"
|
|
134
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h2", null, "Tab 1 Header"), /*#__PURE__*/_react["default"].createElement("p", null, "Tab 1 description"), /*#__PURE__*/_react["default"].createElement("button", null, "Button in Tab 1"))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
135
|
+
title: "Tab 2"
|
|
136
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h2", null, "Tab 2 Header"), /*#__PURE__*/_react["default"].createElement("input", {
|
|
137
|
+
type: "text",
|
|
138
|
+
placeholder: "Input in Tab 2"
|
|
139
|
+
})))));
|
|
140
|
+
expect(_react2.screen.getByText('Tab 1 Header')).toBeInTheDocument();
|
|
141
|
+
expect(_react2.screen.getByRole('button', {
|
|
142
|
+
name: 'Button in Tab 1'
|
|
143
|
+
})).toBeInTheDocument();
|
|
144
|
+
var tab2 = _react2.screen.getByRole('tab', {
|
|
145
|
+
name: 'Tab 2'
|
|
146
|
+
});
|
|
147
|
+
expect(tab2).toBeInTheDocument();
|
|
148
|
+
});
|
|
149
|
+
it('renders all tabs in MuiTabs component', function () {
|
|
150
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
151
|
+
title: "Tab A"
|
|
152
|
+
}, "Content A"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
153
|
+
title: "Tab B"
|
|
154
|
+
}, "Content B"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
155
|
+
title: "Tab C"
|
|
156
|
+
}, "Content C"))),
|
|
157
|
+
container = _render2.container;
|
|
158
|
+
var tabsComponent = container.querySelector('[role="tablist"]');
|
|
159
|
+
expect(tabsComponent).toBeInTheDocument();
|
|
160
|
+
});
|
|
161
|
+
it('applies correct value prop to MuiTabs', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
162
|
+
var user, tab1, tab2;
|
|
163
|
+
return _regenerator["default"].wrap(function (_context3) {
|
|
164
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
165
|
+
case 0:
|
|
166
|
+
user = _userEvent["default"].setup();
|
|
167
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
168
|
+
title: "Tab 1"
|
|
169
|
+
}, "Content 1"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
170
|
+
title: "Tab 2"
|
|
171
|
+
}, "Content 2")));
|
|
172
|
+
|
|
173
|
+
// Initially first tab should be selected (value 0)
|
|
174
|
+
tab1 = _react2.screen.getByRole('tab', {
|
|
175
|
+
name: 'Tab 1'
|
|
176
|
+
});
|
|
177
|
+
expect(tab1).toHaveAttribute('aria-selected', 'true');
|
|
178
|
+
|
|
179
|
+
// Click second tab
|
|
180
|
+
_context3.next = 1;
|
|
181
|
+
return user.click(_react2.screen.getByRole('tab', {
|
|
182
|
+
name: 'Tab 2'
|
|
183
|
+
}));
|
|
184
|
+
case 1:
|
|
185
|
+
tab2 = _react2.screen.getByRole('tab', {
|
|
186
|
+
name: 'Tab 2'
|
|
187
|
+
});
|
|
188
|
+
expect(tab2).toHaveAttribute('aria-selected', 'true');
|
|
189
|
+
expect(tab1).toHaveAttribute('aria-selected', 'false');
|
|
190
|
+
case 2:
|
|
191
|
+
case "end":
|
|
192
|
+
return _context3.stop();
|
|
193
|
+
}
|
|
194
|
+
}, _callee3);
|
|
195
|
+
})));
|
|
196
|
+
it('renders with empty children array', function () {
|
|
197
|
+
var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, [])),
|
|
198
|
+
container = _render3.container;
|
|
199
|
+
expect(container).toBeInTheDocument();
|
|
200
|
+
});
|
|
201
|
+
it('handles long tab titles', function () {
|
|
202
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
203
|
+
title: "This is a very long tab title that should still render correctly"
|
|
204
|
+
}, "Content 1"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
205
|
+
title: "Short"
|
|
206
|
+
}, "Content 2")));
|
|
207
|
+
expect(_react2.screen.getByText('This is a very long tab title that should still render correctly')).toBeInTheDocument();
|
|
208
|
+
expect(_react2.screen.getByText('Short')).toBeInTheDocument();
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfdXNlckV2ZW50IiwiX3RhYnMiLCJkZXNjcmliZSIsIml0IiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIlRhYnMiLCJ0aXRsZSIsImV4cGVjdCIsInNjcmVlbiIsImdldEJ5VGV4dCIsInRvQmVJblRoZURvY3VtZW50IiwicXVlcnlCeVRleHQiLCJub3QiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsInVzZXIiLCJ0YWIyIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJ1c2VyRXZlbnQiLCJzZXR1cCIsImdldEJ5Um9sZSIsIm5hbWUiLCJjbGljayIsInN0b3AiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsIl9yZW5kZXIiLCJjbGFzc05hbWUiLCJjb250YWluZXIiLCJyb290RGl2IiwicXVlcnlTZWxlY3RvciIsInRhYnMiLCJnZXRBbGxCeVJvbGUiLCJ0b0hhdmVMZW5ndGgiLCJ0eXBlIiwicGxhY2Vob2xkZXIiLCJfcmVuZGVyMiIsInRhYnNDb21wb25lbnQiLCJfY2FsbGVlMyIsInRhYjEiLCJfY29udGV4dDMiLCJ0b0hhdmVBdHRyaWJ1dGUiLCJfcmVuZGVyMyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdGFicy50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyLCBzY3JlZW4gfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCB1c2VyRXZlbnQgZnJvbSAnQHRlc3RpbmctbGlicmFyeS91c2VyLWV2ZW50JztcbmltcG9ydCB7IFRhYnMgfSBmcm9tICcuLi90YWJzJztcblxuZGVzY3JpYmUoJ1RhYnMgQ29tcG9uZW50JywgKCkgPT4ge1xuICBpdCgncmVuZGVycyB0YWJzIHdpdGggY29ycmVjdCB0aXRsZXMnLCAoKSA9PiB7XG4gICAgcmVuZGVyKFxuICAgICAgPFRhYnM+XG4gICAgICAgIDxkaXYgdGl0bGU9XCJUYWIgMVwiPkNvbnRlbnQgMTwvZGl2PlxuICAgICAgICA8ZGl2IHRpdGxlPVwiVGFiIDJcIj5Db250ZW50IDI8L2Rpdj5cbiAgICAgICAgPGRpdiB0aXRsZT1cIlRhYiAzXCI+Q29udGVudCAzPC9kaXY+XG4gICAgICA8L1RhYnM+LFxuICAgICk7XG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnVGFiIDEnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnVGFiIDInKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnVGFiIDMnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgZmlyc3QgdGFiIGNvbnRlbnQgYnkgZGVmYXVsdCcsICgpID0+IHtcbiAgICByZW5kZXIoXG4gICAgICA8VGFicz5cbiAgICAgICAgPGRpdiB0aXRsZT1cIlRhYiAxXCI+Q29udGVudCAxPC9kaXY+XG4gICAgICAgIDxkaXYgdGl0bGU9XCJUYWIgMlwiPkNvbnRlbnQgMjwvZGl2PlxuICAgICAgICA8ZGl2IHRpdGxlPVwiVGFiIDNcIj5Db250ZW50IDM8L2Rpdj5cbiAgICAgIDwvVGFicz4sXG4gICAgKTtcblxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdDb250ZW50IDEnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICBleHBlY3Qoc2NyZWVuLnF1ZXJ5QnlUZXh0KCdDb250ZW50IDInKSkubm90LnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgZXhwZWN0KHNjcmVlbi5xdWVyeUJ5VGV4dCgnQ29udGVudCAzJykpLm5vdC50b0JlSW5UaGVEb2N1bWVudCgpO1xuICB9KTtcblxuICBpdCgnc3dpdGNoZXMgdG8gc2VsZWN0ZWQgdGFiIHdoZW4gY2xpY2tlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB1c2VyID0gdXNlckV2ZW50LnNldHVwKCk7XG4gICAgcmVuZGVyKFxuICAgICAgPFRhYnM+XG4gICAgICAgIDxkaXYgdGl0bGU9XCJUYWIgMVwiPkNvbnRlbnQgMTwvZGl2PlxuICAgICAgICA8ZGl2IHRpdGxlPVwiVGFiIDJcIj5Db250ZW50IDI8L2Rpdj5cbiAgICAgICAgPGRpdiB0aXRsZT1cIlRhYiAzXCI+Q29udGVudCAzPC9kaXY+XG4gICAgICA8L1RhYnM+LFxuICAgICk7XG5cbiAgICBjb25zdCB0YWIyID0gc2NyZWVuLmdldEJ5Um9sZSgndGFiJywgeyBuYW1lOiAnVGFiIDInIH0pO1xuICAgIGF3YWl0IHVzZXIuY2xpY2sodGFiMik7XG5cbiAgICBleHBlY3Qoc2NyZWVuLnF1ZXJ5QnlUZXh0KCdDb250ZW50IDEnKSkubm90LnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ0NvbnRlbnQgMicpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVRleHQoJ0NvbnRlbnQgMycpKS5ub3QudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgaXQoJ2Rpc3BsYXlzIGNvcnJlY3QgY29udGVudCB3aGVuIG11bHRpcGxlIHRhYnMgYXJlIGNsaWNrZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdXNlciA9IHVzZXJFdmVudC5zZXR1cCgpO1xuICAgIHJlbmRlcihcbiAgICAgIDxUYWJzPlxuICAgICAgICA8ZGl2IHRpdGxlPVwiVGFiIDFcIj5Db250ZW50IDE8L2Rpdj5cbiAgICAgICAgPGRpdiB0aXRsZT1cIlRhYiAyXCI+Q29udGVudCAyPC9kaXY+XG4gICAgICAgIDxkaXYgdGl0bGU9XCJUYWIgM1wiPkNvbnRlbnQgMzwvZGl2PlxuICAgICAgPC9UYWJzPixcbiAgICApO1xuXG4gICAgYXdhaXQgdXNlci5jbGljayhzY3JlZW4uZ2V0QnlSb2xlKCd0YWInLCB7IG5hbWU6ICdUYWIgMicgfSkpO1xuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdDb250ZW50IDInKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcblxuICAgIGF3YWl0IHVzZXIuY2xpY2soc2NyZWVuLmdldEJ5Um9sZSgndGFiJywgeyBuYW1lOiAnVGFiIDMnIH0pKTtcbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnQ29udGVudCAzJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG5cbiAgICBhd2FpdCB1c2VyLmNsaWNrKHNjcmVlbi5nZXRCeVJvbGUoJ3RhYicsIHsgbmFtZTogJ1RhYiAxJyB9KSk7XG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ0NvbnRlbnQgMScpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICB9KTtcblxuICBpdCgnYXBwbGllcyBjdXN0b20gY2xhc3NOYW1lIHRvIHJvb3QgZWxlbWVudCcsICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKFxuICAgICAgPFRhYnMgY2xhc3NOYW1lPVwiY3VzdG9tLXRhYnMtY2xhc3NcIj5cbiAgICAgICAgPGRpdiB0aXRsZT1cIlRhYiAxXCI+Q29udGVudCAxPC9kaXY+XG4gICAgICA8L1RhYnM+LFxuICAgICk7XG5cbiAgICBjb25zdCByb290RGl2ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5jdXN0b20tdGFicy1jbGFzcycpO1xuICAgIGV4cGVjdChyb290RGl2KS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICB9KTtcblxuXG4gIGl0KCdoYW5kbGVzIHRhYnMgd2l0aG91dCB0aXRsZSBwcm9wIGdyYWNlZnVsbHknLCAoKSA9PiB7XG4gICAgcmVuZGVyKFxuICAgICAgPFRhYnM+XG4gICAgICAgIDxkaXYgdGl0bGU9XCJUYWIgMVwiPkNvbnRlbnQgMTwvZGl2PlxuICAgICAgICA8ZGl2Pk5vIFRpdGxlIENoaWxkPC9kaXY+XG4gICAgICAgIDxkaXYgdGl0bGU9XCJUYWIgMlwiPkNvbnRlbnQgMjwvZGl2PlxuICAgICAgPC9UYWJzPixcbiAgICApO1xuXG4gICAgY29uc3QgdGFicyA9IHNjcmVlbi5nZXRBbGxCeVJvbGUoJ3RhYicpO1xuICAgIC8vIFNob3VsZCBvbmx5IGhhdmUgMiB0YWJzIHNpbmNlIG9uZSBkb2Vzbid0IGhhdmUgYSB0aXRsZVxuICAgIGV4cGVjdCh0YWJzKS50b0hhdmVMZW5ndGgoMik7XG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ1RhYiAxJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ1RhYiAyJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdoYW5kbGVzIG51bGwgY2hpbGRyZW4gZ3JhY2VmdWxseScsICgpID0+IHtcbiAgICByZW5kZXIoXG4gICAgICA8VGFicz5cbiAgICAgICAgPGRpdiB0aXRsZT1cIlRhYiAxXCI+Q29udGVudCAxPC9kaXY+XG4gICAgICAgIHtudWxsfVxuICAgICAgICA8ZGl2IHRpdGxlPVwiVGFiIDJcIj5Db250ZW50IDI8L2Rpdj5cbiAgICAgIDwvVGFicz4sXG4gICAgKTtcblxuICAgIGNvbnN0IHRhYnMgPSBzY3JlZW4uZ2V0QWxsQnlSb2xlKCd0YWInKTtcbiAgICBleHBlY3QodGFicykudG9IYXZlTGVuZ3RoKDIpO1xuICB9KTtcblxuICBpdCgnaGFuZGxlcyBjb21wbGV4IGNvbnRlbnQgaW4gdGFicycsICgpID0+IHtcbiAgICByZW5kZXIoXG4gICAgICA8VGFicz5cbiAgICAgICAgPGRpdiB0aXRsZT1cIlRhYiAxXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoMj5UYWIgMSBIZWFkZXI8L2gyPlxuICAgICAgICAgICAgPHA+VGFiIDEgZGVzY3JpcHRpb248L3A+XG4gICAgICAgICAgICA8YnV0dG9uPkJ1dHRvbiBpbiBUYWIgMTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiB0aXRsZT1cIlRhYiAyXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoMj5UYWIgMiBIZWFkZXI8L2gyPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJJbnB1dCBpbiBUYWIgMlwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9UYWJzPixcbiAgICApO1xuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ1RhYiAxIEhlYWRlcicpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlSb2xlKCdidXR0b24nLCB7IG5hbWU6ICdCdXR0b24gaW4gVGFiIDEnIH0pKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuXG4gICAgY29uc3QgdGFiMiA9IHNjcmVlbi5nZXRCeVJvbGUoJ3RhYicsIHsgbmFtZTogJ1RhYiAyJyB9KTtcbiAgICBleHBlY3QodGFiMikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgYWxsIHRhYnMgaW4gTXVpVGFicyBjb21wb25lbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgIDxUYWJzPlxuICAgICAgICA8ZGl2IHRpdGxlPVwiVGFiIEFcIj5Db250ZW50IEE8L2Rpdj5cbiAgICAgICAgPGRpdiB0aXRsZT1cIlRhYiBCXCI+Q29udGVudCBCPC9kaXY+XG4gICAgICAgIDxkaXYgdGl0bGU9XCJUYWIgQ1wiPkNvbnRlbnQgQzwvZGl2PlxuICAgICAgPC9UYWJzPixcbiAgICApO1xuXG4gICAgY29uc3QgdGFic0NvbXBvbmVudCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdbcm9sZT1cInRhYmxpc3RcIl0nKTtcbiAgICBleHBlY3QodGFic0NvbXBvbmVudCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgaXQoJ2FwcGxpZXMgY29ycmVjdCB2YWx1ZSBwcm9wIHRvIE11aVRhYnMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdXNlciA9IHVzZXJFdmVudC5zZXR1cCgpO1xuICAgIHJlbmRlcihcbiAgICAgIDxUYWJzPlxuICAgICAgICA8ZGl2IHRpdGxlPVwiVGFiIDFcIj5Db250ZW50IDE8L2Rpdj5cbiAgICAgICAgPGRpdiB0aXRsZT1cIlRhYiAyXCI+Q29udGVudCAyPC9kaXY+XG4gICAgICA8L1RhYnM+LFxuICAgICk7XG5cbiAgICAvLyBJbml0aWFsbHkgZmlyc3QgdGFiIHNob3VsZCBiZSBzZWxlY3RlZCAodmFsdWUgMClcbiAgICBjb25zdCB0YWIxID0gc2NyZWVuLmdldEJ5Um9sZSgndGFiJywgeyBuYW1lOiAnVGFiIDEnIH0pO1xuICAgIGV4cGVjdCh0YWIxKS50b0hhdmVBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAndHJ1ZScpO1xuXG4gICAgLy8gQ2xpY2sgc2Vjb25kIHRhYlxuICAgIGF3YWl0IHVzZXIuY2xpY2soc2NyZWVuLmdldEJ5Um9sZSgndGFiJywgeyBuYW1lOiAnVGFiIDInIH0pKTtcbiAgICBjb25zdCB0YWIyID0gc2NyZWVuLmdldEJ5Um9sZSgndGFiJywgeyBuYW1lOiAnVGFiIDInIH0pO1xuICAgIGV4cGVjdCh0YWIyKS50b0hhdmVBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAndHJ1ZScpO1xuICAgIGV4cGVjdCh0YWIxKS50b0hhdmVBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAnZmFsc2UnKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgd2l0aCBlbXB0eSBjaGlsZHJlbiBhcnJheScsICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxUYWJzPntbXX08L1RhYnM+KTtcbiAgICBleHBlY3QoY29udGFpbmVyKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICB9KTtcblxuICBpdCgnaGFuZGxlcyBsb25nIHRhYiB0aXRsZXMnLCAoKSA9PiB7XG4gICAgcmVuZGVyKFxuICAgICAgPFRhYnM+XG4gICAgICAgIDxkaXYgdGl0bGU9XCJUaGlzIGlzIGEgdmVyeSBsb25nIHRhYiB0aXRsZSB0aGF0IHNob3VsZCBzdGlsbCByZW5kZXIgY29ycmVjdGx5XCI+XG4gICAgICAgICAgQ29udGVudCAxXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHRpdGxlPVwiU2hvcnRcIj5Db250ZW50IDI8L2Rpdj5cbiAgICAgIDwvVGFicz4sXG4gICAgKTtcblxuICAgIGV4cGVjdChcbiAgICAgIHNjcmVlbi5nZXRCeVRleHQoJ1RoaXMgaXMgYSB2ZXJ5IGxvbmcgdGFiIHRpdGxlIHRoYXQgc2hvdWxkIHN0aWxsIHJlbmRlciBjb3JyZWN0bHknKSxcbiAgICApLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ1Nob3J0JykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSCxPQUFBO0FBRUFJLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFNO0VBQy9CQyxFQUFFLENBQUMsa0NBQWtDLEVBQUUsWUFBTTtJQUMzQyxJQUFBQyxjQUFNLGVBQ0pSLE1BQUEsWUFBQVMsYUFBQSxDQUFDSixLQUFBLENBQUFLLElBQUkscUJBQ0hWLE1BQUEsWUFBQVMsYUFBQTtNQUFLRSxLQUFLLEVBQUM7SUFBTyxHQUFDLFdBQWMsQ0FBQyxlQUNsQ1gsTUFBQSxZQUFBUyxhQUFBO01BQUtFLEtBQUssRUFBQztJQUFPLEdBQUMsV0FBYyxDQUFDLGVBQ2xDWCxNQUFBLFlBQUFTLGFBQUE7TUFBS0UsS0FBSyxFQUFDO0lBQU8sR0FBQyxXQUFjLENBQzdCLENBQ1IsQ0FBQztJQUVEQyxNQUFNLENB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
|
|
@@ -0,0 +1,124 @@
|
|
|
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 _twoChoice = require("../two-choice");
|
|
10
|
+
describe('NChoice', function () {
|
|
11
|
+
var onChange = jest.fn();
|
|
12
|
+
beforeEach(function () {
|
|
13
|
+
onChange.mockClear();
|
|
14
|
+
});
|
|
15
|
+
it('renders radio buttons with vertical direction', function () {
|
|
16
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_twoChoice.NChoice, {
|
|
17
|
+
direction: "vertical",
|
|
18
|
+
header: "n-choice-vertical",
|
|
19
|
+
value: 'left',
|
|
20
|
+
onChange: onChange,
|
|
21
|
+
opts: [{
|
|
22
|
+
label: 'left',
|
|
23
|
+
value: 'left'
|
|
24
|
+
}, {
|
|
25
|
+
label: 'center',
|
|
26
|
+
value: 'center'
|
|
27
|
+
}, {
|
|
28
|
+
label: 'right',
|
|
29
|
+
value: 'right'
|
|
30
|
+
}]
|
|
31
|
+
}));
|
|
32
|
+
expect(_react2.screen.getByText('n-choice-vertical')).toBeInTheDocument();
|
|
33
|
+
expect(_react2.screen.getByLabelText('left')).toBeInTheDocument();
|
|
34
|
+
expect(_react2.screen.getByLabelText('center')).toBeInTheDocument();
|
|
35
|
+
expect(_react2.screen.getByLabelText('right')).toBeInTheDocument();
|
|
36
|
+
});
|
|
37
|
+
it('shows selected value as checked', function () {
|
|
38
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_twoChoice.NChoice, {
|
|
39
|
+
direction: "vertical",
|
|
40
|
+
header: "Options",
|
|
41
|
+
value: 'center',
|
|
42
|
+
onChange: onChange,
|
|
43
|
+
opts: [{
|
|
44
|
+
label: 'left',
|
|
45
|
+
value: 'left'
|
|
46
|
+
}, {
|
|
47
|
+
label: 'center',
|
|
48
|
+
value: 'center'
|
|
49
|
+
}, {
|
|
50
|
+
label: 'right',
|
|
51
|
+
value: 'right'
|
|
52
|
+
}]
|
|
53
|
+
}));
|
|
54
|
+
var centerRadio = _react2.screen.getByLabelText('center');
|
|
55
|
+
expect(centerRadio).toBeChecked();
|
|
56
|
+
expect(_react2.screen.getByLabelText('left')).not.toBeChecked();
|
|
57
|
+
expect(_react2.screen.getByLabelText('right')).not.toBeChecked();
|
|
58
|
+
});
|
|
59
|
+
it('calls onChange when user selects a different option', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
60
|
+
var user;
|
|
61
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
62
|
+
while (1) switch (_context.prev = _context.next) {
|
|
63
|
+
case 0:
|
|
64
|
+
user = _userEvent["default"].setup();
|
|
65
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_twoChoice.NChoice, {
|
|
66
|
+
direction: "vertical",
|
|
67
|
+
header: "Options",
|
|
68
|
+
value: 'left',
|
|
69
|
+
onChange: onChange,
|
|
70
|
+
opts: [{
|
|
71
|
+
label: 'left',
|
|
72
|
+
value: 'left'
|
|
73
|
+
}, {
|
|
74
|
+
label: 'center',
|
|
75
|
+
value: 'center'
|
|
76
|
+
}, {
|
|
77
|
+
label: 'right',
|
|
78
|
+
value: 'right'
|
|
79
|
+
}]
|
|
80
|
+
}));
|
|
81
|
+
_context.next = 1;
|
|
82
|
+
return user.click(_react2.screen.getByLabelText('center'));
|
|
83
|
+
case 1:
|
|
84
|
+
expect(onChange).toHaveBeenCalledWith('center');
|
|
85
|
+
case 2:
|
|
86
|
+
case "end":
|
|
87
|
+
return _context.stop();
|
|
88
|
+
}
|
|
89
|
+
}, _callee);
|
|
90
|
+
})));
|
|
91
|
+
it('renders with horizontal direction', function () {
|
|
92
|
+
var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_twoChoice.NChoice, {
|
|
93
|
+
direction: "horizontal",
|
|
94
|
+
header: "Options",
|
|
95
|
+
value: 'left',
|
|
96
|
+
onChange: onChange,
|
|
97
|
+
opts: [{
|
|
98
|
+
label: 'left',
|
|
99
|
+
value: 'left'
|
|
100
|
+
}, {
|
|
101
|
+
label: 'right',
|
|
102
|
+
value: 'right'
|
|
103
|
+
}]
|
|
104
|
+
})),
|
|
105
|
+
container = _render.container;
|
|
106
|
+
|
|
107
|
+
// Check that all options are rendered
|
|
108
|
+
expect(_react2.screen.getByLabelText('left')).toBeInTheDocument();
|
|
109
|
+
expect(_react2.screen.getByLabelText('right')).toBeInTheDocument();
|
|
110
|
+
});
|
|
111
|
+
it('handles string options by converting them', function () {
|
|
112
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_twoChoice.NChoice, {
|
|
113
|
+
direction: "vertical",
|
|
114
|
+
header: "Options",
|
|
115
|
+
value: 'option1',
|
|
116
|
+
onChange: onChange,
|
|
117
|
+
opts: ['option1', 'option2', 'option3']
|
|
118
|
+
}));
|
|
119
|
+
expect(_react2.screen.getByLabelText('option1')).toBeInTheDocument();
|
|
120
|
+
expect(_react2.screen.getByLabelText('option2')).toBeInTheDocument();
|
|
121
|
+
expect(_react2.screen.getByLabelText('option3')).toBeInTheDocument();
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfdXNlckV2ZW50IiwiX3R3b0Nob2ljZSIsImRlc2NyaWJlIiwib25DaGFuZ2UiLCJqZXN0IiwiZm4iLCJiZWZvcmVFYWNoIiwibW9ja0NsZWFyIiwiaXQiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiTkNob2ljZSIsImRpcmVjdGlvbiIsImhlYWRlciIsInZhbHVlIiwib3B0cyIsImxhYmVsIiwiZXhwZWN0Iiwic2NyZWVuIiwiZ2V0QnlUZXh0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJnZXRCeUxhYmVsVGV4dCIsImNlbnRlclJhZGlvIiwidG9CZUNoZWNrZWQiLCJub3QiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsInVzZXIiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInVzZXJFdmVudCIsInNldHVwIiwiY2xpY2siLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsInN0b3AiLCJfcmVuZGVyIiwiY29udGFpbmVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy90d28tY2hvaWNlLnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciwgc2NyZWVuIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgdXNlckV2ZW50IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvdXNlci1ldmVudCc7XG5pbXBvcnQgeyBOQ2hvaWNlIH0gZnJvbSAnLi4vdHdvLWNob2ljZSc7XG5cbmRlc2NyaWJlKCdOQ2hvaWNlJywgKCkgPT4ge1xuICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBvbkNoYW5nZS5tb2NrQ2xlYXIoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgcmFkaW8gYnV0dG9ucyB3aXRoIHZlcnRpY2FsIGRpcmVjdGlvbicsICgpID0+IHtcbiAgICByZW5kZXIoXG4gICAgICA8TkNob2ljZVxuICAgICAgICBkaXJlY3Rpb249XCJ2ZXJ0aWNhbFwiXG4gICAgICAgIGhlYWRlcj1cIm4tY2hvaWNlLXZlcnRpY2FsXCJcbiAgICAgICAgdmFsdWU9eydsZWZ0J31cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvcHRzPXtbXG4gICAgICAgICAgeyBsYWJlbDogJ2xlZnQnLCB2YWx1ZTogJ2xlZnQnIH0sXG4gICAgICAgICAgeyBsYWJlbDogJ2NlbnRlcicsIHZhbHVlOiAnY2VudGVyJyB9LFxuICAgICAgICAgIHsgbGFiZWw6ICdyaWdodCcsIHZhbHVlOiAncmlnaHQnIH0sXG4gICAgICAgIF19XG4gICAgICAvPixcbiAgICApO1xuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ24tY2hvaWNlLXZlcnRpY2FsJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeUxhYmVsVGV4dCgnbGVmdCcpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ2NlbnRlcicpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ3JpZ2h0JykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdzaG93cyBzZWxlY3RlZCB2YWx1ZSBhcyBjaGVja2VkJywgKCkgPT4ge1xuICAgIHJlbmRlcihcbiAgICAgIDxOQ2hvaWNlXG4gICAgICAgIGRpcmVjdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgaGVhZGVyPVwiT3B0aW9uc1wiXG4gICAgICAgIHZhbHVlPXsnY2VudGVyJ31cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvcHRzPXtbXG4gICAgICAgICAgeyBsYWJlbDogJ2xlZnQnLCB2YWx1ZTogJ2xlZnQnIH0sXG4gICAgICAgICAgeyBsYWJlbDogJ2NlbnRlcicsIHZhbHVlOiAnY2VudGVyJyB9LFxuICAgICAgICAgIHsgbGFiZWw6ICdyaWdodCcsIHZhbHVlOiAncmlnaHQnIH0sXG4gICAgICAgIF19XG4gICAgICAvPixcbiAgICApO1xuXG4gICAgY29uc3QgY2VudGVyUmFkaW8gPSBzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ2NlbnRlcicpO1xuICAgIGV4cGVjdChjZW50ZXJSYWRpbykudG9CZUNoZWNrZWQoKTtcbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5TGFiZWxUZXh0KCdsZWZ0JykpLm5vdC50b0JlQ2hlY2tlZCgpO1xuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ3JpZ2h0JykpLm5vdC50b0JlQ2hlY2tlZCgpO1xuICB9KTtcblxuICBpdCgnY2FsbHMgb25DaGFuZ2Ugd2hlbiB1c2VyIHNlbGVjdHMgYSBkaWZmZXJlbnQgb3B0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHVzZXIgPSB1c2VyRXZlbnQuc2V0dXAoKTtcbiAgICByZW5kZXIoXG4gICAgICA8TkNob2ljZVxuICAgICAgICBkaXJlY3Rpb249XCJ2ZXJ0aWNhbFwiXG4gICAgICAgIGhlYWRlcj1cIk9wdGlvbnNcIlxuICAgICAgICB2YWx1ZT17J2xlZnQnfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIG9wdHM9e1tcbiAgICAgICAgICB7IGxhYmVsOiAnbGVmdCcsIHZhbHVlOiAnbGVmdCcgfSxcbiAgICAgICAgICB7IGxhYmVsOiAnY2VudGVyJywgdmFsdWU6ICdjZW50ZXInIH0sXG4gICAgICAgICAgeyBsYWJlbDogJ3JpZ2h0JywgdmFsdWU6ICdyaWdodCcgfSxcbiAgICAgICAgXX1cbiAgICAgIC8+LFxuICAgICk7XG5cbiAgICBhd2FpdCB1c2VyLmNsaWNrKHNjcmVlbi5nZXRCeUxhYmVsVGV4dCgnY2VudGVyJykpO1xuXG4gICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnY2VudGVyJyk7XG4gIH0pO1xuXG4gIGl0KCdyZW5kZXJzIHdpdGggaG9yaXpvbnRhbCBkaXJlY3Rpb24nLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgIDxOQ2hvaWNlXG4gICAgICAgIGRpcmVjdGlvbj1cImhvcml6b250YWxcIlxuICAgICAgICBoZWFkZXI9XCJPcHRpb25zXCJcbiAgICAgICAgdmFsdWU9eydsZWZ0J31cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvcHRzPXtbXG4gICAgICAgICAgeyBsYWJlbDogJ2xlZnQnLCB2YWx1ZTogJ2xlZnQnIH0sXG4gICAgICAgICAgeyBsYWJlbDogJ3JpZ2h0JywgdmFsdWU6ICdyaWdodCcgfSxcbiAgICAgICAgXX1cbiAgICAgIC8+LFxuICAgICk7XG5cbiAgICAvLyBDaGVjayB0aGF0IGFsbCBvcHRpb25zIGFyZSByZW5kZXJlZFxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ2xlZnQnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5TGFiZWxUZXh0KCdyaWdodCcpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICB9KTtcblxuICBpdCgnaGFuZGxlcyBzdHJpbmcgb3B0aW9ucyBieSBjb252ZXJ0aW5nIHRoZW0nLCAoKSA9PiB7XG4gICAgcmVuZGVyKFxuICAgICAgPE5DaG9pY2VcbiAgICAgICAgZGlyZWN0aW9uPVwidmVydGljYWxcIlxuICAgICAgICBoZWFkZXI9XCJPcHRpb25zXCJcbiAgICAgICAgdmFsdWU9eydvcHRpb24xJ31cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvcHRzPXtbJ29wdGlvbjEnLCAnb3B0aW9uMicsICdvcHRpb24zJ119XG4gICAgICAvPixcbiAgICApO1xuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeUxhYmVsVGV4dCgnb3B0aW9uMScpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ29wdGlvbjInKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5TGFiZWxUZXh0KCdvcHRpb24zJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBRUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsWUFBTTtFQUN4QixJQUFNQyxRQUFRLEdBQUdDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7RUFFMUJDLFVBQVUsQ0FBQyxZQUFNO0lBQ2ZILFFBQVEsQ0FBQ0ksU0FBUyxDQUFDLENBQUM7RUFDdEIsQ0FBQyxDQUFDO0VBRUZDLEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxZQUFNO0lBQ3hELElBQUFDLGNBQU0sZUFDSmIsTUFBQSxZQUFBYyxhQUFBLENBQUNULFVBQUEsQ0FBQVUsT0FBTztNQUNOQyxTQUFTLEVBQUMsVUFBVTtNQUNwQkMsTUFBTSxFQUFDLG1CQUFtQjtNQUMxQkMsS0FBSyxFQUFFLE1BQU87TUFDZFgsUUFBUSxFQUFFQSxRQUFTO01BQ25CWSxJQUFJLEVBQUUsQ0FDSjtRQUFFQyxLQUFLLEVBQUUsTUFBTTtRQUFFRixLQUFLLEVBQUU7TUFBTyxDQUFDLEVBQ2hDO1FBQUVFLEtBQUssRUFBRSxRQUFRO1FBQUVGLEtBQUssRUFBRTtNQUFTLENBQUMsRUFDcEM7UUFBRUUsS0FBSyxFQUFFLE9BQU87UUFBRUYsS0FBSyxFQUFFO01BQVEsQ0FBQztJQUNsQyxDQUNILENBQ0gsQ0FBQztJQUVERyxNQUFNLENBQUNDLGNBQU0sQ0FBQ0MsU0FB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
|