@pie-element/categorize 13.1.7 → 13.2.0-beta.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +10 -39
  2. package/configure/CHANGELOG.md +8 -37
  3. package/configure/lib/__tests__/main.test.js +100 -0
  4. package/configure/lib/__tests__/utils.js +39 -0
  5. package/configure/lib/design/__tests__/builder.test.js +34 -0
  6. package/configure/lib/design/__tests__/buttons.test.js +36 -0
  7. package/configure/lib/design/__tests__/header.test.js +37 -0
  8. package/configure/lib/design/__tests__/index.test.js +269 -0
  9. package/configure/lib/design/__tests__/input-header.test.js +41 -0
  10. package/configure/lib/design/categories/__tests__/alternateResponses.test.js +93 -0
  11. package/configure/lib/design/categories/__tests__/category.test.js +65 -0
  12. package/configure/lib/design/categories/__tests__/choice-preview.test.js +52 -0
  13. package/configure/lib/design/categories/__tests__/droppable-placeholder.test.js +63 -0
  14. package/configure/lib/design/categories/__tests__/index.test.js +91 -0
  15. package/configure/lib/design/choices/__tests__/choice.test.js +62 -0
  16. package/configure/lib/design/choices/__tests__/config.test.js +66 -0
  17. package/configure/lib/design/choices/__tests__/index.test.js +70 -0
  18. package/configure/package.json +3 -3
  19. package/controller/CHANGELOG.md +4 -23
  20. package/controller/lib/__tests__/index.test.js +526 -0
  21. package/controller/package.json +1 -1
  22. package/docs/demo/.pie/.configure/package.json +10 -0
  23. package/docs/demo/.pie/.configure/yarn.lock +2122 -0
  24. package/docs/demo/.pie/.controllers/package.json +10 -0
  25. package/docs/demo/.pie/.controllers/yarn.lock +110 -0
  26. package/docs/demo/.pie/info.entry.js +89 -0
  27. package/docs/demo/.pie/info.webpack.config.js +119 -0
  28. package/docs/demo/.pie/package.json +10 -0
  29. package/docs/demo/.pie/yarn.lock +2137 -0
  30. package/docs/demo/pie.manifest.json +11 -0
  31. package/lib/__tests__/index.test.js +197 -0
  32. package/lib/categorize/__tests__/categories.test.js +138 -0
  33. package/lib/categorize/__tests__/category.test.js +137 -0
  34. package/lib/categorize/__tests__/choice.test.js +88 -0
  35. package/lib/categorize/__tests__/choices.test.js +118 -0
  36. package/lib/categorize/__tests__/droppable-placeholder.test.js +96 -0
  37. package/lib/categorize/__tests__/grid-content.test.js +48 -0
  38. package/lib/categorize/__tests__/index.test.js +250 -0
  39. package/package.json +3 -3
@@ -0,0 +1,269 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ var _react = _interopRequireDefault(require("react"));
6
+ var _react2 = require("@testing-library/react");
7
+ var _styles = require("@mui/material/styles");
8
+ var _index = require("../index");
9
+ const model = extras => ({
10
+ choices: [{
11
+ id: '1',
12
+ content: 'content'
13
+ }],
14
+ correctResponse: [{
15
+ category: '1',
16
+ choices: ['1']
17
+ }],
18
+ categories: [{
19
+ id: '1',
20
+ label: 'Category Title'
21
+ }],
22
+ ...extras
23
+ });
24
+ jest.mock('@pie-lib/config-ui', () => {
25
+ const React = require('react');
26
+ const InputContainer = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
27
+ ref: ref
28
+ }, props)));
29
+ InputContainer.displayName = 'InputContainer';
30
+ return {
31
+ layout: {
32
+ ConfigLayout: props => /*#__PURE__*/React.createElement("div", props)
33
+ },
34
+ choiceUtils: {
35
+ firstAvailableIndex: jest.fn()
36
+ },
37
+ settings: {
38
+ Panel: props => /*#__PURE__*/React.createElement("div", props),
39
+ toggle: jest.fn(),
40
+ radio: jest.fn()
41
+ },
42
+ FeedbackConfig: props => /*#__PURE__*/React.createElement("div", props),
43
+ AlertDialog: props => /*#__PURE__*/React.createElement("div", props),
44
+ InputContainer
45
+ };
46
+ });
47
+ jest.mock('@pie-lib/categorize', () => ({
48
+ ensureNoExtraChoicesInAlternate: jest.fn(),
49
+ countInAnswer: jest.fn().mockReturnValue(1),
50
+ ensureNoExtraChoicesInAnswer: jest.fn()
51
+ }));
52
+ jest.mock('@pie-lib/drag', () => ({
53
+ DragProvider: ({
54
+ children
55
+ }) => /*#__PURE__*/_react.default.createElement("div", null, children),
56
+ uid: {
57
+ generateId: jest.fn(() => 'test-uid'),
58
+ Provider: ({
59
+ children
60
+ }) => /*#__PURE__*/_react.default.createElement("div", null, children),
61
+ withUid: Component => Component
62
+ }
63
+ }));
64
+ jest.mock('@pie-lib/editable-html-tip-tap', () => props => /*#__PURE__*/_react.default.createElement("div", props));
65
+ jest.mock('@pie-lib/math-rendering', () => ({
66
+ renderMath: jest.fn()
67
+ }));
68
+ jest.mock('@pie-lib/translator', () => {
69
+ const translator = {
70
+ t: key => key
71
+ };
72
+ return {
73
+ __esModule: true,
74
+ default: {
75
+ translator
76
+ }
77
+ };
78
+ });
79
+ jest.mock('../categories', () => ({
80
+ __esModule: true,
81
+ default: props => /*#__PURE__*/_react.default.createElement("div", props)
82
+ }));
83
+ jest.mock('../categories/alternateResponses', () => ({
84
+ __esModule: true,
85
+ default: props => /*#__PURE__*/_react.default.createElement("div", props)
86
+ }));
87
+ jest.mock('../choices', () => ({
88
+ __esModule: true,
89
+ default: props => /*#__PURE__*/_react.default.createElement("div", props)
90
+ }));
91
+ const theme = (0, _styles.createTheme)();
92
+ describe('Design', () => {
93
+ let onChange = jest.fn();
94
+ beforeEach(() => {
95
+ onChange = jest.fn();
96
+ });
97
+ const renderDesign = extras => {
98
+ const defaults = {
99
+ classes: {
100
+ design: 'design',
101
+ text: 'text'
102
+ },
103
+ className: 'className',
104
+ onChange,
105
+ model: model(),
106
+ uid: '1'
107
+ };
108
+ const props = {
109
+ ...defaults,
110
+ ...extras
111
+ };
112
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
113
+ theme: theme
114
+ }, /*#__PURE__*/_react.default.createElement(_index.Design, props)));
115
+ };
116
+ describe('renders', () => {
117
+ it('renders without crashing', () => {
118
+ const {
119
+ container
120
+ } = renderDesign();
121
+ expect(container).toBeInTheDocument();
122
+ });
123
+ });
124
+ describe('onDragEnd', () => {
125
+ const createInstance = (modelExtras = {}) => {
126
+ const instance = new _index.Design({
127
+ model: model({
128
+ allowAlternateEnabled: true,
129
+ ...modelExtras
130
+ }),
131
+ onChange
132
+ });
133
+ instance.setState = jest.fn();
134
+ instance.removeChoiceFromSource = jest.fn();
135
+ instance.moveChoice = jest.fn();
136
+ instance.addChoiceToCategory = jest.fn();
137
+ instance.moveChoiceInAlternate = jest.fn();
138
+ instance.addChoiceToAlternateCategory = jest.fn();
139
+ return instance;
140
+ };
141
+ const eventFor = ({
142
+ activeData,
143
+ overData
144
+ }) => ({
145
+ active: activeData ? {
146
+ data: {
147
+ current: activeData
148
+ }
149
+ } : null,
150
+ over: overData ? {
151
+ data: {
152
+ current: overData
153
+ }
154
+ } : null
155
+ });
156
+ it('routes choice-preview with no target to removeChoiceFromSource', () => {
157
+ const instance = createInstance();
158
+ const activeData = {
159
+ type: 'choice-preview',
160
+ id: 'c1-cat1-0',
161
+ categoryId: '1',
162
+ choiceIndex: 0
163
+ };
164
+ instance.onDragEnd(eventFor({
165
+ activeData
166
+ }));
167
+ expect(instance.removeChoiceFromSource).toHaveBeenCalledWith(activeData, 0, expect.objectContaining({
168
+ allowAlternateEnabled: true,
169
+ categories: expect.any(Array),
170
+ choices: expect.any(Array)
171
+ }));
172
+ });
173
+ it('routes choice-preview dropped on choice pool to removeChoiceFromSource', () => {
174
+ const instance = createInstance();
175
+ const activeData = {
176
+ type: 'choice-preview',
177
+ id: 'c1-cat1-0',
178
+ categoryId: '1',
179
+ choiceIndex: 0
180
+ };
181
+ const overData = {
182
+ type: 'choice'
183
+ };
184
+ instance.onDragEnd(eventFor({
185
+ activeData,
186
+ overData
187
+ }));
188
+ expect(instance.removeChoiceFromSource).toHaveBeenCalled();
189
+ expect(instance.moveChoice).not.toHaveBeenCalled();
190
+ });
191
+ it('routes choice-preview dropped on category to moveChoice', () => {
192
+ const instance = createInstance();
193
+ const activeData = {
194
+ type: 'choice-preview',
195
+ id: 'c1-cat1-0',
196
+ categoryId: '1',
197
+ choiceIndex: 2
198
+ };
199
+ const overData = {
200
+ type: 'category',
201
+ id: '2'
202
+ };
203
+ instance.onDragEnd(eventFor({
204
+ activeData,
205
+ overData
206
+ }));
207
+ expect(instance.moveChoice).toHaveBeenCalledWith('c1', '1', '2', 2);
208
+ });
209
+ it('routes new choice dropped on category to addChoiceToCategory', () => {
210
+ const instance = createInstance();
211
+ const activeData = {
212
+ type: 'choice',
213
+ id: '9'
214
+ };
215
+ const overData = {
216
+ type: 'category',
217
+ id: '2'
218
+ };
219
+ instance.onDragEnd(eventFor({
220
+ activeData,
221
+ overData
222
+ }));
223
+ expect(instance.addChoiceToCategory).toHaveBeenCalledWith({
224
+ id: '9'
225
+ }, '2');
226
+ });
227
+ it('routes choice-preview dropped on category-alternate to moveChoiceInAlternate', () => {
228
+ const instance = createInstance();
229
+ const activeData = {
230
+ type: 'choice-preview',
231
+ id: 'c1-cat1-0',
232
+ categoryId: '1',
233
+ choiceIndex: 1
234
+ };
235
+ const overData = {
236
+ type: 'category-alternate',
237
+ id: '2',
238
+ alternateResponseIndex: 3
239
+ };
240
+ instance.onDragEnd(eventFor({
241
+ activeData,
242
+ overData
243
+ }));
244
+ expect(instance.moveChoiceInAlternate).toHaveBeenCalledWith('c1', '1', '2', 1, 3);
245
+ });
246
+ it('routes new choice dropped on category-alternate to addChoiceToAlternateCategory', () => {
247
+ const instance = createInstance({
248
+ allowAlternateEnabled: true
249
+ });
250
+ const activeData = {
251
+ type: 'choice',
252
+ id: '11'
253
+ };
254
+ const overData = {
255
+ type: 'category-alternate',
256
+ id: '2',
257
+ alternateResponseIndex: 4
258
+ };
259
+ instance.onDragEnd(eventFor({
260
+ activeData,
261
+ overData
262
+ }));
263
+ expect(instance.addChoiceToAlternateCategory).toHaveBeenCalledWith({
264
+ id: '11'
265
+ }, '2', 4);
266
+ });
267
+ });
268
+ });
269
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX2luZGV4IiwibW9kZWwiLCJleHRyYXMiLCJjaG9pY2VzIiwiaWQiLCJjb250ZW50IiwiY29ycmVjdFJlc3BvbnNlIiwiY2F0ZWdvcnkiLCJjYXRlZ29yaWVzIiwibGFiZWwiLCJqZXN0IiwibW9jayIsIlJlYWN0IiwiSW5wdXRDb250YWluZXIiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJyZWYiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiZGVmYXVsdCIsImRpc3BsYXlOYW1lIiwibGF5b3V0IiwiQ29uZmlnTGF5b3V0IiwiY2hvaWNlVXRpbHMiLCJmaXJzdEF2YWlsYWJsZUluZGV4IiwiZm4iLCJzZXR0aW5ncyIsIlBhbmVsIiwidG9nZ2xlIiwicmFkaW8iLCJGZWVkYmFja0NvbmZpZyIsIkFsZXJ0RGlhbG9nIiwiZW5zdXJlTm9FeHRyYUNob2ljZXNJbkFsdGVybmF0ZSIsImNvdW50SW5BbnN3ZXIiLCJtb2NrUmV0dXJuVmFsdWUiLCJlbnN1cmVOb0V4dHJhQ2hvaWNlc0luQW5zd2VyIiwiRHJhZ1Byb3ZpZGVyIiwiY2hpbGRyZW4iLCJ1aWQiLCJnZW5lcmF0ZUlkIiwiUHJvdmlkZXIiLCJ3aXRoVWlkIiwiQ29tcG9uZW50IiwicmVuZGVyTWF0aCIsInRyYW5zbGF0b3IiLCJ0Iiwia2V5IiwiX19lc01vZHVsZSIsInRoZW1lIiwiY3JlYXRlVGhlbWUiLCJkZXNjcmliZSIsIm9uQ2hhbmdlIiwiYmVmb3JlRWFjaCIsInJlbmRlckRlc2lnbiIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImRlc2lnbiIsInRleHQiLCJjbGFzc05hbWUiLCJyZW5kZXIiLCJUaGVtZVByb3ZpZGVyIiwiRGVzaWduIiwiaXQiLCJjb250YWluZXIiLCJleHBlY3QiLCJ0b0JlSW5UaGVEb2N1bWVudCIsImNyZWF0ZUluc3RhbmNlIiwibW9kZWxFeHRyYXMiLCJpbnN0YW5jZSIsImFsbG93QWx0ZXJuYXRlRW5hYmxlZCIsInNldFN0YXRlIiwicmVtb3ZlQ2hvaWNlRnJvbVNvdXJjZSIsIm1vdmVDaG9pY2UiLCJhZGRDaG9pY2VUb0NhdGVnb3J5IiwibW92ZUNob2ljZUluQWx0ZXJuYXRlIiwiYWRkQ2hvaWNlVG9BbHRlcm5hdGVDYXRlZ29yeSIsImV2ZW50Rm9yIiwiYWN0aXZlRGF0YSIsIm92ZXJEYXRhIiwiYWN0aXZlIiwiZGF0YSIsImN1cnJlbnQiLCJvdmVyIiwidHlwZSIsImNhdGVnb3J5SWQiLCJjaG9pY2VJbmRleCIsIm9uRHJhZ0VuZCIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwib2JqZWN0Q29udGFpbmluZyIsImFueSIsIkFycmF5IiwidG9IYXZlQmVlbkNhbGxlZCIsIm5vdCIsImFsdGVybmF0ZVJlc3BvbnNlSW5kZXgiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzaWduL19fdGVzdHNfXy9pbmRleC50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgeyBUaGVtZVByb3ZpZGVyLCBjcmVhdGVUaGVtZSB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCB7IERlc2lnbiB9IGZyb20gJy4uL2luZGV4JztcblxuY29uc3QgbW9kZWwgPSAoZXh0cmFzKSA9PiAoe1xuICBjaG9pY2VzOiBbeyBpZDogJzEnLCBjb250ZW50OiAnY29udGVudCcgfV0sXG4gIGNvcnJlY3RSZXNwb25zZTogW3sgY2F0ZWdvcnk6ICcxJywgY2hvaWNlczogWycxJ10gfV0sXG4gIGNhdGVnb3JpZXM6IFt7IGlkOiAnMScsIGxhYmVsOiAnQ2F0ZWdvcnkgVGl0bGUnIH1dLFxuICAuLi5leHRyYXMsXG59KTtcblxuamVzdC5tb2NrKCdAcGllLWxpYi9jb25maWctdWknLCAoKSA9PiB7XG4gIGNvbnN0IFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcbiAgY29uc3QgSW5wdXRDb250YWluZXIgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiA8ZGl2IHJlZj17cmVmfSB7Li4ucHJvcHN9IC8+KTtcbiAgSW5wdXRDb250YWluZXIuZGlzcGxheU5hbWUgPSAnSW5wdXRDb250YWluZXInO1xuXG4gIHJldHVybiB7XG4gICAgbGF5b3V0OiB7XG4gICAgICBDb25maWdMYXlvdXQ6IChwcm9wcykgPT4gPGRpdiB7Li4ucHJvcHN9IC8+LFxuICAgIH0sXG4gICAgY2hvaWNlVXRpbHM6IHtcbiAgICAgIGZpcnN0QXZhaWxhYmxlSW5kZXg6IGplc3QuZm4oKSxcbiAgICB9LFxuICAgIHNldHRpbmdzOiB7XG4gICAgICBQYW5lbDogKHByb3BzKSA9PiA8ZGl2IHsuLi5wcm9wc30gLz4sXG4gICAgICB0b2dnbGU6IGplc3QuZm4oKSxcbiAgICAgIHJhZGlvOiBqZXN0LmZuKCksXG4gICAgfSxcbiAgICBGZWVkYmFja0NvbmZpZzogKHByb3BzKSA9PiA8ZGl2IHsuLi5wcm9wc30gLz4sXG4gICAgQWxlcnREaWFsb2c6IChwcm9wcykgPT4gPGRpdiB7Li4ucHJvcHN9IC8+LFxuICAgIElucHV0Q29udGFpbmVyLFxuICB9O1xufSk7XG5cbmplc3QubW9jaygnQHBpZS1saWIvY2F0ZWdvcml6ZScsICgpID0+ICh7XG4gIGVuc3VyZU5vRXh0cmFDaG9pY2VzSW5BbHRlcm5hdGU6IGplc3QuZm4oKSxcbiAgY291bnRJbkFuc3dlcjogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSgxKSxcbiAgZW5zdXJlTm9FeHRyYUNob2ljZXNJbkFuc3dlcjogamVzdC5mbigpLFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL2RyYWcnLCAoKSA9PiAoe1xuICBEcmFnUHJvdmlkZXI6ICh7IGNoaWxkcmVuIH0pID0+IDxkaXY+e2NoaWxkcmVufTwvZGl2PixcbiAgdWlkOiB7XG4gICAgZ2VuZXJhdGVJZDogamVzdC5mbigoKSA9PiAndGVzdC11aWQnKSxcbiAgICBQcm92aWRlcjogKHsgY2hpbGRyZW4gfSkgPT4gPGRpdj57Y2hpbGRyZW59PC9kaXY+LFxuICAgIHdpdGhVaWQ6IChDb21wb25lbnQpID0+IENvbXBvbmVudCxcbiAgfSxcbn0pKTtcblxuamVzdC5tb2NrKCdAcGllLWxpYi9lZGl0YWJsZS1odG1sLXRpcC10YXAnLCAoKSA9PiAocHJvcHMpID0+IDxkaXYgey4uLnByb3BzfSAvPik7XG5qZXN0Lm1vY2soJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJywgKCkgPT4gKHsgcmVuZGVyTWF0aDogamVzdC5mbigpIH0pKTtcbmplc3QubW9jaygnQHBpZS1saWIvdHJhbnNsYXRvcicsICgpID0+IHtcbiAgY29uc3QgdHJhbnNsYXRvciA9IHtcbiAgICB0OiAoa2V5KSA9PiBrZXksXG4gIH07XG4gIHJldHVybiB7XG4gICAgX19lc01vZHVsZTogdHJ1ZSxcbiAgICBkZWZhdWx0OiB7IHRyYW5zbGF0b3IgfSxcbiAgfTtcbn0pO1xuXG5qZXN0Lm1vY2soJy4uL2NhdGVnb3JpZXMnLCAoKSA9PiAoe1xuICBfX2VzTW9kdWxlOiB0cnVlLFxuICBkZWZhdWx0OiAocHJvcHMpID0+IDxkaXYgey4uLnByb3BzfSAvPixcbn0pKTtcbmplc3QubW9jaygnLi4vY2F0ZWdvcmllcy9hbHRlcm5hdGVSZXNwb25zZXMnLCAoKSA9PiAoe1xuICBfX2VzTW9kdWxlOiB0cnVlLFxuICBkZWZhdWx0OiAocHJvcHMpID0+IDxkaXYgey4uLnByb3BzfSAvPixcbn0pKTtcbmplc3QubW9jaygnLi4vY2hvaWNlcycsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6IChwcm9wcykgPT4gPGRpdiB7Li4ucHJvcHN9IC8+LFxufSkpO1xuXG5jb25zdCB0aGVtZSA9IGNyZWF0ZVRoZW1lKCk7XG5cbmRlc2NyaWJlKCdEZXNpZ24nLCAoKSA9PiB7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgfSk7XG5cbiAgY29uc3QgcmVuZGVyRGVzaWduID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3NlczogeyBkZXNpZ246ICdkZXNpZ24nLCB0ZXh0OiAndGV4dCcgfSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG1vZGVsOiBtb2RlbCgpLFxuICAgICAgdWlkOiAnMScsXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuXG4gICAgcmV0dXJuIHJlbmRlcihcbiAgICAgIDxUaGVtZVByb3ZpZGVyIHRoZW1lPXt0aGVtZX0+XG4gICAgICAgIDxEZXNpZ24gey4uLnByb3BzfSAvPlxuICAgICAgPC9UaGVtZVByb3ZpZGVyPlxuICAgICk7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJEZXNpZ24oKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdvbkRyYWdFbmQnLCAoKSA9PiB7XG4gICAgY29uc3QgY3JlYXRlSW5zdGFuY2UgPSAobW9kZWxFeHRyYXMgPSB7fSkgPT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgRGVzaWduKHtcbiAgICAgICAgbW9kZWw6IG1vZGVsKHtcbiAgICAgICAgICBhbGxvd0FsdGVybmF0ZUVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgLi4ubW9kZWxFeHRyYXMsXG4gICAgICAgIH0pLFxuICAgICAgICBvbkNoYW5nZSxcbiAgICAgIH0pO1xuXG4gICAgICBpbnN0YW5jZS5zZXRTdGF0ZSA9IGplc3QuZm4oKTtcbiAgICAgIGluc3RhbmNlLnJlbW92ZUNob2ljZUZyb21Tb3VyY2UgPSBqZXN0LmZuKCk7XG4gICAgICBpbnN0YW5jZS5tb3ZlQ2hvaWNlID0gamVzdC5mbigpO1xuICAgICAgaW5zdGFuY2UuYWRkQ2hvaWNlVG9DYXRlZ29yeSA9IGplc3QuZm4oKTtcbiAgICAgIGluc3RhbmNlLm1vdmVDaG9pY2VJbkFsdGVybmF0ZSA9IGplc3QuZm4oKTtcbiAgICAgIGluc3RhbmNlLmFkZENob2ljZVRvQWx0ZXJuYXRlQ2F0ZWdvcnkgPSBqZXN0LmZuKCk7XG5cbiAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICB9O1xuXG4gICAgY29uc3QgZXZlbnRGb3IgPSAoeyBhY3RpdmVEYXRhLCBvdmVyRGF0YSB9KSA9PiAoe1xuICAgICAgYWN0aXZlOiBhY3RpdmVEYXRhID8geyBkYXRhOiB7IGN1cnJlbnQ6IGFjdGl2ZURhdGEgfSB9IDogbnVsbCxcbiAgICAgIG92ZXI6IG92ZXJEYXRhID8geyBkYXRhOiB7IGN1cnJlbnQ6IG92ZXJEYXRhIH0gfSA6IG51bGwsXG4gICAgfSk7XG5cbiAgICBpdCgncm91dGVzIGNob2ljZS1wcmV2aWV3IHdpdGggbm8gdGFyZ2V0IHRvIHJlbW92ZUNob2ljZUZyb21Tb3VyY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlKCk7XG4gICAgICBjb25zdCBhY3RpdmVEYXRhID0ge1xuICAgICAgICB0eXBlOiAnY2hvaWNlLXByZXZpZXcnLFxuICAgICAgICBpZDogJ2MxLWNhdDEtMCcsXG4gICAgICAgIGNhdGVnb3J5SWQ6ICcxJyxcbiAgICAgICAgY2hvaWNlSW5kZXg6IDAsXG4gICAgICB9O1xuXG4gICAgICBpbnN0YW5jZS5vbkRyYWdFbmQoZXZlbnRGb3IoeyBhY3RpdmVEYXRhIH0pKTtcblxuICAgICAgZXhwZWN0KGluc3RhbmNlLnJlbW92ZUNob2ljZUZyb21Tb3VyY2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFxuICAgICAgICBhY3RpdmVEYXRhLFxuICAgICAgICAwLFxuICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgYWxsb3dBbHRlcm5hdGVFbmFibGVkOiB0cnVlLFxuICAgICAgICAgIGNhdGVnb3JpZXM6IGV4cGVjdC5hbnkoQXJyYXkpLFxuICAgICAgICAgIGNob2ljZXM6IGV4cGVjdC5hbnkoQXJyYXkpLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgncm91dGVzIGNob2ljZS1wcmV2aWV3IGRyb3BwZWQgb24gY2hvaWNlIHBvb2wgdG8gcmVtb3ZlQ2hvaWNlRnJvbVNvdXJjZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gY3JlYXRlSW5zdGFuY2UoKTtcbiAgICAgIGNvbnN0IGFjdGl2ZURhdGEgPSB7XG4gICAgICAgIHR5cGU6ICdjaG9pY2UtcHJldmlldycsXG4gICAgICAgIGlkOiAnYzEtY2F0MS0wJyxcbiAgICAgICAgY2F0ZWdvcnlJZDogJzEnLFxuICAgICAgICBjaG9pY2VJbmRleDogMCxcbiAgICAgIH07XG4gICAgICBjb25zdCBvdmVyRGF0YSA9IHsgdHlwZTogJ2Nob2ljZScgfTtcblxuICAgICAgaW5zdGFuY2Uub25EcmFnRW5kKGV2ZW50Rm9yKHsgYWN0aXZlRGF0YSwgb3ZlckRhdGEgfSkpO1xuXG4gICAgICBleHBlY3QoaW5zdGFuY2UucmVtb3ZlQ2hvaWNlRnJvbVNvdXJjZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgZXhwZWN0KGluc3RhbmNlLm1vdmVDaG9pY2UpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgncm91dGVzIGNob2ljZS1wcmV2aWV3IGRyb3BwZWQgb24gY2F0ZWdvcnkgdG8gbW92ZUNob2ljZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gY3JlYXRlSW5zdGFuY2UoKTtcbiAgICAgIGNvbnN0IGFjdGl2ZURhdGEgPSB7XG4gICAgICAgIHR5cGU6ICdjaG9pY2UtcHJldmlldycsXG4gICAgICAgIGlkOiAnYzEtY2F0MS0wJyxcbiAgICAgICAgY2F0ZWdvcnlJZDogJzEnLFxuICAgICAgICBjaG9pY2VJbmRleDogMixcbiAgICAgIH07XG4gICAgICBjb25zdCBvdmVyRGF0YSA9IHsgdHlwZTogJ2NhdGVnb3J5JywgaWQ6ICcyJyB9O1xuXG4gICAgICBpbnN0YW5jZS5vbkRyYWdFbmQoZXZlbnRGb3IoeyBhY3RpdmVEYXRhLCBvdmVyRGF0YSB9KSk7XG5cbiAgICAgIGV4cGVjdChpbnN0YW5jZS5tb3ZlQ2hvaWNlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnYzEnLCAnMScsICcyJywgMik7XG4gICAgfSk7XG5cbiAgICBpdCgncm91dGVzIG5ldyBjaG9pY2UgZHJvcHBlZCBvbiBjYXRlZ29yeSB0byBhZGRDaG9pY2VUb0NhdGVnb3J5JywgKCkgPT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSBjcmVhdGVJbnN0YW5jZSgpO1xuICAgICAgY29uc3QgYWN0aXZlRGF0YSA9IHsgdHlwZTogJ2Nob2ljZScsIGlkOiAnOScgfTtcbiAgICAgIGNvbnN0IG92ZXJEYXRhID0geyB0eXBlOiAnY2F0ZWdvcnknLCBpZDogJzInIH07XG5cbiAgICAgIGluc3RhbmNlLm9uRHJhZ0VuZChldmVudEZvcih7IGFjdGl2ZURhdGEsIG92ZXJEYXRhIH0pKTtcblxuICAgICAgZXhwZWN0KGluc3RhbmNlLmFkZENob2ljZVRvQ2F0ZWdvcnkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgaWQ6ICc5JyB9LCAnMicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JvdXRlcyBjaG9pY2UtcHJldmlldyBkcm9wcGVkIG9uIGNhdGVnb3J5LWFsdGVybmF0ZSB0byBtb3ZlQ2hvaWNlSW5BbHRlcm5hdGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlKCk7XG4gICAgICBjb25zdCBhY3RpdmVEYXRhID0ge1xuICAgICAgICB0eXBlOiAnY2hvaWNlLXByZXZpZXcnLFxuICAgICAgICBpZDogJ2MxLWNhdDEtMCcsXG4gICAgICAgIGNhdGVnb3J5SWQ6ICcxJyxcbiAgICAgICAgY2hvaWNlSW5kZXg6IDEsXG4gICAgICB9O1xuICAgICAgY29uc3Qgb3ZlckRhdGEgPSB7IHR5cGU6ICdjYXRlZ29yeS1hbHRlcm5hdGUnLCBpZDogJzInLCBhbHRlcm5hdGVSZXNwb25zZUluZGV4OiAzIH07XG5cbiAgICAgIGluc3RhbmNlLm9uRHJhZ0VuZChldmVudEZvcih7IGFjdGl2ZURhdGEsIG92ZXJEYXRhIH0pKTtcblxuICAgICAgZXhwZWN0KGluc3RhbmNlLm1vdmVDaG9pY2VJbkFsdGVybmF0ZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2MxJywgJzEnLCAnMicsIDEsIDMpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JvdXRlcyBuZXcgY2hvaWNlIGRyb3BwZWQgb24gY2F0ZWdvcnktYWx0ZXJuYXRlIHRvIGFkZENob2ljZVRvQWx0ZXJuYXRlQ2F0ZWdvcnknLCAoKSA9PiB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlKHsgYWxsb3dBbHRlcm5hdGVFbmFibGVkOiB0cnVlIH0pO1xuICAgICAgY29uc3QgYWN0aXZlRGF0YSA9IHsgdHlwZTogJ2Nob2ljZScsIGlkOiAnMTEnIH07XG4gICAgICBjb25zdCBvdmVyRGF0YSA9IHsgdHlwZTogJ2NhdGVnb3J5LWFsdGVybmF0ZScsIGlkOiAnMicsIGFsdGVybmF0ZVJlc3BvbnNlSW5kZXg6IDQgfTtcblxuICAgICAgaW5zdGFuY2Uub25EcmFnRW5kKGV2ZW50Rm9yKHsgYWN0aXZlRGF0YSwgb3ZlckRhdGEgfSkpO1xuXG4gICAgICBleHBlY3QoaW5zdGFuY2UuYWRkQ2hvaWNlVG9BbHRlcm5hdGVDYXRlZ29yeSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoeyBpZDogJzExJyB9LCAnMicsIDQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsTUFBQSxH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
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _styles = require("@mui/material/styles");
7
+ var _inputHeader = require("../input-header");
8
+ jest.mock('@pie-lib/editable-html-tip-tap', () => props => /*#__PURE__*/_react.default.createElement("div", props));
9
+ const theme = (0, _styles.createTheme)();
10
+ describe('InputHeader', () => {
11
+ let onChange = jest.fn();
12
+ let onDelete = jest.fn();
13
+ const renderInputHeader = extras => {
14
+ const defaults = {
15
+ classes: {
16
+ inputHeader: 'inputHeader',
17
+ editor: 'editor'
18
+ },
19
+ className: 'className',
20
+ onChange,
21
+ onDelete
22
+ };
23
+ const props = {
24
+ ...defaults,
25
+ ...extras,
26
+ configuration: {}
27
+ };
28
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
29
+ theme: theme
30
+ }, /*#__PURE__*/_react.default.createElement(_inputHeader.InputHeader, props)));
31
+ };
32
+ describe('renders', () => {
33
+ it('renders without crashing', () => {
34
+ const {
35
+ container
36
+ } = renderInputHeader();
37
+ expect(container).toBeInTheDocument();
38
+ });
39
+ });
40
+ });
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX2lucHV0SGVhZGVyIiwiamVzdCIsIm1vY2siLCJwcm9wcyIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwidGhlbWUiLCJjcmVhdGVUaGVtZSIsImRlc2NyaWJlIiwib25DaGFuZ2UiLCJmbiIsIm9uRGVsZXRlIiwicmVuZGVySW5wdXRIZWFkZXIiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJpbnB1dEhlYWRlciIsImVkaXRvciIsImNsYXNzTmFtZSIsImNvbmZpZ3VyYXRpb24iLCJyZW5kZXIiLCJUaGVtZVByb3ZpZGVyIiwiSW5wdXRIZWFkZXIiLCJpdCIsImNvbnRhaW5lciIsImV4cGVjdCIsInRvQmVJblRoZURvY3VtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rlc2lnbi9fX3Rlc3RzX18vaW5wdXQtaGVhZGVyLnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIsIGNyZWF0ZVRoZW1lIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IHsgSW5wdXRIZWFkZXIgfSBmcm9tICcuLi9pbnB1dC1oZWFkZXInO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwtdGlwLXRhcCcsICgpID0+IChwcm9wcykgPT4gPGRpdiB7Li4ucHJvcHN9IC8+KTtcblxuY29uc3QgdGhlbWUgPSBjcmVhdGVUaGVtZSgpO1xuXG5kZXNjcmliZSgnSW5wdXRIZWFkZXInLCAoKSA9PiB7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgbGV0IG9uRGVsZXRlID0gamVzdC5mbigpO1xuICBjb25zdCByZW5kZXJJbnB1dEhlYWRlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHsgaW5wdXRIZWFkZXI6ICdpbnB1dEhlYWRlcicsIGVkaXRvcjogJ2VkaXRvcicgfSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRGVsZXRlLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMsIGNvbmZpZ3VyYXRpb246IHt9IH07XG4gICAgcmV0dXJuIHJlbmRlcihcbiAgICAgIDxUaGVtZVByb3ZpZGVyIHRoZW1lPXt0aGVtZX0+XG4gICAgICAgIDxJbnB1dEhlYWRlciB7Li4ucHJvcHN9IC8+XG4gICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgKTtcbiAgfTtcbiAgZGVzY3JpYmUoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJJbnB1dEhlYWRlcigpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lcikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBRUFJLElBQUksQ0FBQ0MsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLE1BQU9DLEtBQUssaUJBQUtSLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLFFBQVNGLEtBQVEsQ0FBQyxDQUFDO0FBRWhGLE1BQU1HLEtBQUssR0FBRyxJQUFBQyxtQkFBVyxFQUFDLENBQUM7QUFFM0JDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsTUFBTTtFQUM1QixJQUFJQyxRQUFRLEdBQUdSLElBQUksQ0FBQ1MsRUFBRSxDQUFDLENBQUM7RUFDeEIsSUFBSUMsUUFBUSxHQUFHVixJQUFJLENBQUNTLEVBQUUsQ0FBQyxDQUFDO0VBQ3hCLE1BQU1FLGlCQUFpQixHQUFJQyxNQUFNLElBQUs7SUFDcEMsTUFBTUMsUUFBUSxHQUFHO01BQ2ZDLE9BQU8sRUFBRTtRQUFFQyxXQUFXLEVBQUUsYUFBYTtRQUFFQyxNQUFNLEVBQUU7TUFBUyxDQUFDO01BQ3pEQyxTQUFTLEVBQUUsV0FBVztNQUN0QlQsUUFBUTtNQUNSRTtJQUNGLENBQUM7SUFDRCxNQUFNUixLQUFLLEdBQUc7TUFBRSxHQUFHVyxRQUFRO01BQUUsR0FBR0QsTUFBTTtNQUFFTSxhQUFhLEVBQUUsQ0FBQztJQUFFLENBQUM7SUFDM0QsT0FBTyxJQUFBQyxjQUFNLGVBQ1h6QixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxDQUFDTixPQUFBLENBQUFzQixhQUFhO01BQUNmLEtBQUssRUFBRUE7SUFBTSxnQkFDMUJYLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLENBQUNMLFlBQUEsQ0FBQXNCLFdBQVcsRUFBS25CLEtBQVEsQ0FDWixDQUNqQixDQUFDO0VBQ0gsQ0FBQztFQUNESyxRQUFRLENBQUMsU0FBUyxFQUFFLE1BQU07SUFDeEJlLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxNQUFNO01BQ25DLE1BQU07UUFBRUM7TUFBVSxDQUFDLEdBQUdaLGlCQUFpQixDQUFDLENBQUM7TUFDekNhLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDLENBQUNFLGlCQUFpQixDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _styles = require("@mui/material/styles");
7
+ var _alternateResponses = require("../alternateResponses");
8
+ jest.mock('../category', () => props => /*#__PURE__*/_react.default.createElement("div", props));
9
+ const theme = (0, _styles.createTheme)();
10
+ describe('AlternateResponses', () => {
11
+ let onModelChanged = jest.fn();
12
+ let model = {
13
+ choices: [{
14
+ id: '0',
15
+ content: 'Choice 0',
16
+ categoryCount: 0
17
+ }, {
18
+ id: '2',
19
+ content: 'foo',
20
+ categoryCount: 0
21
+ }, {
22
+ id: '3',
23
+ content: 'foo1',
24
+ categoryCount: 0
25
+ }],
26
+ choicesPosition: 'below',
27
+ choicesLabel: '',
28
+ lockChoiceOrder: true,
29
+ categoriesPerRow: 2,
30
+ categories: [{
31
+ id: '0',
32
+ label: 'Category 0',
33
+ choices: []
34
+ }],
35
+ rowLabels: [''],
36
+ correctResponse: [],
37
+ partialScoring: true
38
+ };
39
+ beforeEach(() => {
40
+ onModelChanged = jest.fn();
41
+ });
42
+ const renderAlternateResponses = extras => {
43
+ model = {
44
+ ...model,
45
+ ...extras
46
+ };
47
+ const defaults = {
48
+ altIndex: 0,
49
+ classes: {
50
+ categories: 'categories',
51
+ categoriesHolder: 'categoriesHolder',
52
+ row: 'row'
53
+ },
54
+ categories: [{
55
+ id: '1',
56
+ label: 'foo',
57
+ choices: []
58
+ }],
59
+ className: 'className',
60
+ model: {
61
+ ...model,
62
+ choices: [{
63
+ id: '1',
64
+ categoryCount: 0
65
+ }, {
66
+ id: '2',
67
+ categoryCount: 0
68
+ }],
69
+ correctResponse: [{
70
+ category: '0',
71
+ choices: ['1']
72
+ }]
73
+ },
74
+ onModelChanged
75
+ };
76
+ const props = {
77
+ ...defaults,
78
+ ...extras
79
+ };
80
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
81
+ theme: theme
82
+ }, /*#__PURE__*/_react.default.createElement(_alternateResponses.AlternateResponses, props)));
83
+ };
84
+ describe('renders', () => {
85
+ it('renders without crashing', () => {
86
+ const {
87
+ container
88
+ } = renderAlternateResponses();
89
+ expect(container).toBeInTheDocument();
90
+ });
91
+ });
92
+ });
93
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX2FsdGVybmF0ZVJlc3BvbnNlcyIsImplc3QiLCJtb2NrIiwicHJvcHMiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsInRoZW1lIiwiY3JlYXRlVGhlbWUiLCJkZXNjcmliZSIsIm9uTW9kZWxDaGFuZ2VkIiwiZm4iLCJtb2RlbCIsImNob2ljZXMiLCJpZCIsImNvbnRlbnQiLCJjYXRlZ29yeUNvdW50IiwiY2hvaWNlc1Bvc2l0aW9uIiwiY2hvaWNlc0xhYmVsIiwibG9ja0Nob2ljZU9yZGVyIiwiY2F0ZWdvcmllc1BlclJvdyIsImNhdGVnb3JpZXMiLCJsYWJlbCIsInJvd0xhYmVscyIsImNvcnJlY3RSZXNwb25zZSIsInBhcnRpYWxTY29yaW5nIiwiYmVmb3JlRWFjaCIsInJlbmRlckFsdGVybmF0ZVJlc3BvbnNlcyIsImV4dHJhcyIsImRlZmF1bHRzIiwiYWx0SW5kZXgiLCJjbGFzc2VzIiwiY2F0ZWdvcmllc0hvbGRlciIsInJvdyIsImNsYXNzTmFtZSIsImNhdGVnb3J5IiwicmVuZGVyIiwiVGhlbWVQcm92aWRlciIsIkFsdGVybmF0ZVJlc3BvbnNlcyIsIml0IiwiY29udGFpbmVyIiwiZXhwZWN0IiwidG9CZUluVGhlRG9jdW1lbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzaWduL2NhdGVnb3JpZXMvX190ZXN0c19fL2FsdGVybmF0ZVJlc3BvbnNlcy50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgeyBUaGVtZVByb3ZpZGVyLCBjcmVhdGVUaGVtZSB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcblxuaW1wb3J0IHsgQWx0ZXJuYXRlUmVzcG9uc2VzIH0gZnJvbSAnLi4vYWx0ZXJuYXRlUmVzcG9uc2VzJztcblxuamVzdC5tb2NrKCcuLi9jYXRlZ29yeScsICgpID0+IChwcm9wcykgPT4gPGRpdiB7Li4ucHJvcHN9IC8+KTtcblxuY29uc3QgdGhlbWUgPSBjcmVhdGVUaGVtZSgpO1xuXG5kZXNjcmliZSgnQWx0ZXJuYXRlUmVzcG9uc2VzJywgKCkgPT4ge1xuICBsZXQgb25Nb2RlbENoYW5nZWQgPSBqZXN0LmZuKCk7XG4gIGxldCBtb2RlbCA9IHtcbiAgICBjaG9pY2VzOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnMCcsXG4gICAgICAgIGNvbnRlbnQ6ICdDaG9pY2UgMCcsXG4gICAgICAgIGNhdGVnb3J5Q291bnQ6IDAsXG4gICAgICB9LFxuICAgICAgeyBpZDogJzInLCBjb250ZW50OiAnZm9vJywgY2F0ZWdvcnlDb3VudDogMCB9LFxuICAgICAgeyBpZDogJzMnLCBjb250ZW50OiAnZm9vMScsIGNhdGVnb3J5Q291bnQ6IDAgfSxcbiAgICBdLFxuICAgIGNob2ljZXNQb3NpdGlvbjogJ2JlbG93JyxcbiAgICBjaG9pY2VzTGFiZWw6ICcnLFxuICAgIGxvY2tDaG9pY2VPcmRlcjogdHJ1ZSxcbiAgICBjYXRlZ29yaWVzUGVyUm93OiAyLFxuICAgIGNhdGVnb3JpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICcwJyxcbiAgICAgICAgbGFiZWw6ICdDYXRlZ29yeSAwJyxcbiAgICAgICAgY2hvaWNlczogW10sXG4gICAgICB9LFxuICAgIF0sXG4gICAgcm93TGFiZWxzOiBbJyddLFxuICAgIGNvcnJlY3RSZXNwb25zZTogW10sXG4gICAgcGFydGlhbFNjb3Jpbmc6IHRydWUsXG4gIH07XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25Nb2RlbENoYW5nZWQgPSBqZXN0LmZuKCk7XG4gIH0pO1xuXG4gIGNvbnN0IHJlbmRlckFsdGVybmF0ZVJlc3BvbnNlcyA9IChleHRyYXMpID0+IHtcbiAgICBtb2RlbCA9IHsgLi4ubW9kZWwsIC4uLmV4dHJhcyB9O1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgYWx0SW5kZXg6IDAsXG4gICAgICBjbGFzc2VzOiB7XG4gICAgICAgIGNhdGVnb3JpZXM6ICdjYXRlZ29yaWVzJyxcbiAgICAgICAgY2F0ZWdvcmllc0hvbGRlcjogJ2NhdGVnb3JpZXNIb2xkZXInLFxuICAgICAgICByb3c6ICdyb3cnLFxuICAgICAgfSxcbiAgICAgIGNhdGVnb3JpZXM6IFt7IGlkOiAnMScsIGxhYmVsOiAnZm9vJywgY2hvaWNlczogW10gfV0sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgbW9kZWw6IHtcbiAgICAgICAgLi4ubW9kZWwsXG4gICAgICAgIGNob2ljZXM6IFtcbiAgICAgICAgICB7IGlkOiAnMScsIGNhdGVnb3J5Q291bnQ6IDAgfSxcbiAgICAgICAgICB7IGlkOiAnMicsIGNhdGVnb3J5Q291bnQ6IDAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgY29ycmVjdFJlc3BvbnNlOiBbeyBjYXRlZ29yeTogJzAnLCBjaG9pY2VzOiBbJzEnXSB9XSxcbiAgICAgIH0sXG4gICAgICBvbk1vZGVsQ2hhbmdlZCxcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG5cbiAgICByZXR1cm4gcmVuZGVyKFxuICAgICAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3RoZW1lfT5cbiAgICAgICAgPEFsdGVybmF0ZVJlc3BvbnNlcyB7Li4ucHJvcHN9IC8+XG4gICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgKTtcbiAgfTtcblxuICBkZXNjcmliZSgncmVuZGVycycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckFsdGVybmF0ZVJlc3BvbnNlcygpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lcikudG9CZUluVGhlRG9jdW1lbnQoKTtc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
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _styles = require("@mui/material/styles");
7
+ var _category = require("../category");
8
+ jest.mock('@pie-lib/editable-html-tip-tap', () => props => /*#__PURE__*/_react.default.createElement("div", props));
9
+ jest.mock('../droppable-placeholder', () => props => /*#__PURE__*/_react.default.createElement("div", props));
10
+ const theme = (0, _styles.createTheme)();
11
+ describe('category', () => {
12
+ let onChange = jest.fn();
13
+ let onDelete = jest.fn();
14
+ let onDeleteChoice = jest.fn();
15
+ let onAddChoice = jest.fn();
16
+ beforeEach(() => {
17
+ onChange = jest.fn();
18
+ onDelete = jest.fn();
19
+ onDeleteChoice = jest.fn();
20
+ onAddChoice = jest.fn();
21
+ });
22
+ const renderCategory = extras => {
23
+ const defaults = {
24
+ classes: {},
25
+ className: 'className',
26
+ category: {
27
+ id: '1',
28
+ label: 'Category title'
29
+ },
30
+ configuration: {
31
+ headers: {},
32
+ baseInputConfiguration: {}
33
+ },
34
+ onChange,
35
+ onDelete,
36
+ onDeleteChoice,
37
+ onAddChoice
38
+ };
39
+ const props = {
40
+ ...defaults,
41
+ ...extras
42
+ };
43
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
44
+ theme: theme
45
+ }, /*#__PURE__*/_react.default.createElement(_category.Category, props)));
46
+ };
47
+ describe('renders', () => {
48
+ it('renders with default props', () => {
49
+ const {
50
+ container
51
+ } = renderCategory();
52
+ expect(container).toBeInTheDocument();
53
+ });
54
+ it('renders without some components if no handlers are provided', () => {
55
+ const {
56
+ container
57
+ } = renderCategory({
58
+ onChange: undefined,
59
+ onDelete: undefined
60
+ });
61
+ expect(container).toBeInTheDocument();
62
+ });
63
+ });
64
+ });
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX2NhdGVnb3J5IiwiamVzdCIsIm1vY2siLCJwcm9wcyIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwidGhlbWUiLCJjcmVhdGVUaGVtZSIsImRlc2NyaWJlIiwib25DaGFuZ2UiLCJmbiIsIm9uRGVsZXRlIiwib25EZWxldGVDaG9pY2UiLCJvbkFkZENob2ljZSIsImJlZm9yZUVhY2giLCJyZW5kZXJDYXRlZ29yeSIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImNhdGVnb3J5IiwiaWQiLCJsYWJlbCIsImNvbmZpZ3VyYXRpb24iLCJoZWFkZXJzIiwiYmFzZUlucHV0Q29uZmlndXJhdGlvbiIsInJlbmRlciIsIlRoZW1lUHJvdmlkZXIiLCJDYXRlZ29yeSIsIml0IiwiY29udGFpbmVyIiwiZXhwZWN0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJ1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzaWduL2NhdGVnb3JpZXMvX190ZXN0c19fL2NhdGVnb3J5LnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIsIGNyZWF0ZVRoZW1lIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuLi9jYXRlZ29yeSc7XG5cbmplc3QubW9jaygnQHBpZS1saWIvZWRpdGFibGUtaHRtbC10aXAtdGFwJywgKCkgPT4gKHByb3BzKSA9PiA8ZGl2IHsuLi5wcm9wc30gLz4pO1xuamVzdC5tb2NrKCcuLi9kcm9wcGFibGUtcGxhY2Vob2xkZXInLCAoKSA9PiAocHJvcHMpID0+IDxkaXYgey4uLnByb3BzfSAvPik7XG5cbmNvbnN0IHRoZW1lID0gY3JlYXRlVGhlbWUoKTtcblxuZGVzY3JpYmUoJ2NhdGVnb3J5JywgKCkgPT4ge1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGxldCBvbkRlbGV0ZSA9IGplc3QuZm4oKTtcbiAgbGV0IG9uRGVsZXRlQ2hvaWNlID0gamVzdC5mbigpO1xuICBsZXQgb25BZGRDaG9pY2UgPSBqZXN0LmZuKCk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gICAgb25EZWxldGUgPSBqZXN0LmZuKCk7XG4gICAgb25EZWxldGVDaG9pY2UgPSBqZXN0LmZuKCk7XG4gICAgb25BZGRDaG9pY2UgPSBqZXN0LmZuKCk7XG4gIH0pO1xuXG4gIGNvbnN0IHJlbmRlckNhdGVnb3J5ID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgY2F0ZWdvcnk6IHtcbiAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgbGFiZWw6ICdDYXRlZ29yeSB0aXRsZScsXG4gICAgICB9LFxuICAgICAgY29uZmlndXJhdGlvbjoge1xuICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgICAgYmFzZUlucHV0Q29uZmlndXJhdGlvbjoge30sXG4gICAgICB9LFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlQ2hvaWNlLFxuICAgICAgb25BZGRDaG9pY2UsXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoXG4gICAgICA8VGhlbWVQcm92aWRlciB0aGVtZT17dGhlbWV9PlxuICAgICAgICA8Q2F0ZWdvcnkgey4uLnByb3BzfSAvPlxuICAgICAgPC9UaGVtZVByb3ZpZGVyPlxuICAgICk7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBkZWZhdWx0IHByb3BzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNhdGVnb3J5KCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBzb21lIGNvbXBvbmVudHMgaWYgbm8gaGFuZGxlcnMgYXJlIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNhdGVnb3J5KHtcbiAgICAgICAgb25DaGFuZ2U6IHVuZGVmaW5lZCxcbiAgICAgICAgb25EZWxldGU6IHVuZGVmaW5lZCxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lcikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBRUFJLElBQUksQ0FBQ0MsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLE1BQU9DLEtBQUssaUJBQUtSLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLFFBQVNGLEtBQVEsQ0FBQyxDQUFDO0FBQ2hGRixJQUFJLENBQUNDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxNQUFPQyxLQUFLLGlCQUFLUixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxRQUFTRixLQUFRLENBQUMsQ0FBQztBQUUxRSxNQUFNRyxLQUFLLEdBQUcsSUFBQUMsbUJBQVcsRUFBQyxDQUFDO0FBRTNCQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU07RUFDekIsSUFBSUMsUUFBUSxHQUFHUixJQUFJLENBQUNTLEVBQUUsQ0FBQyxDQUFDO0VBQ3hCLElBQUlDLFFBQVEsR0FBR1YsSUFBSSxDQUFDUyxFQUFFLENBQUMsQ0FBQztFQUN4QixJQUFJRSxjQUFjLEdBQUdYLElBQUksQ0FBQ1MsRUFBRSxDQUFDLENBQUM7RUFDOUIsSUFBSUcsV0FBVyxHQUFHWixJQUFJLENBQUNTLEVBQUUsQ0FBQyxDQUFDO0VBRTNCSSxVQUFVLENBQUMsTUFBTTtJQUNmTCxRQUFRLEdBQUdSLElBQUksQ0FBQ1MsRUFBRSxDQUFDLENBQUM7SUFDcEJDLFFBQVEsR0FBR1YsSUFBSSxDQUFDUyxFQUFFLENBQUMsQ0FBQztJQUNwQkUsY0FBYyxHQUFHWCxJQUFJLENBQUNTLEVBQUUsQ0FBQyxDQUFDO0lBQzFCRyxXQUFXLEdBQUdaLElBQUksQ0FBQ1MsRUFBRSxDQUFDLENBQUM7RUFDekIsQ0FBQyxDQUFDO0VBRUYsTUFBTUssY0FBYyxHQUFJQyxNQUFNLElBQUs7SUFDakMsTUFBTUMsUUFBUSxHQUFHO01BQ2ZDLE9BQU8sRUFBRSxDQUFDLENBQUM7TUFDWEMsU0FBUyxFQUFFLFdBQVc7TUFDdEJDLFFBQVEsRUFBRTtRQUNSQyxFQUFFLEVBQUUsR0FBRztRQUNQQyxLQUFLLEVBQUU7TUFDVCxDQUFDO01BQ0RDLGFBQWEsRUFBRTtRQUNiQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ1hDLHNCQUFzQixFQUFFLENBQUM7TUFDM0IsQ0FBQztNQUNEaEIsUUFBUTtNQUNSRSxRQUFRO01BQ1JDLGNBQWM7TUFDZEM7SUFDRixDQUFDO0lBQ0QsTUFBTVYsS0FBSyxHQUFHO01BQUUsR0FBR2MsUUFBUTtNQUFFLEdBQUdEO0lBQU8sQ0FBQztJQUN4QyxPQUFPLElBQUFVLGNBQU0sZUFDWC9CLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLENBQUNOLE9BQUEsQ0FBQTRCLGFBQWE7TUFBQ3JCLEtBQUssRUFBRUE7SUFBTSxnQkFDMUJYLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBLENBQUNMLFNBQUEsQ0FBQTRCLFFBQVEsRUFBS3pCLEtBQVEsQ0FDVCxDQUNqQixDQUFDO0VBQ0gsQ0FBQztFQUVESyxRQUFRLENBQUMsU0FBUyxFQUFFLE1BQU07SUFDeEJxQixFQUFFLENBQUMsNEJBQTRCLEVBQUUsTUFBTTtNQUNyQyxNQUFNO1FBQUVDO01BQVUsQ0FBQyxHQUFHZixjQUFjLENBQUMsQ0FBQztNQUN0Q2dCLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDLENBQUNFLGlCQUFpQixDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDO0lBRUZILEVBQUUsQ0FBQyw2REFBNkQsRUFBRSxNQUFNO01BQ3RFLE1BQU07UUFBRUM7TUFBVSxDQUFDLEdBQUdmLGNBQWMsQ0FBQztRQUNuQ04sUUFBUSxFQUFFd0IsU0FBUztRQUNuQnRCLFFBQVEsRUFBRXNCO01BQ1osQ0FBQyxDQUFDO01BQ0ZGLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDLENBQUNFLGlCQUFpQixDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _styles = require("@mui/material/styles");
7
+ var _choicePreview = require("../choice-preview");
8
+ jest.mock('@pie-lib/drag', () => ({
9
+ DraggableChoice: props => /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("button", {
10
+ onClick: props.onRemoveChoice
11
+ }, "Remove"), props.choice.content)
12
+ }));
13
+ jest.mock('@pie-lib/render-ui', () => ({
14
+ HtmlAndMath: props => /*#__PURE__*/_react.default.createElement("div", null, props.text),
15
+ color: {
16
+ tertiary: () => '#000'
17
+ }
18
+ }));
19
+ const theme = (0, _styles.createTheme)();
20
+ describe('ChoicePreview', () => {
21
+ let onDelete = jest.fn();
22
+ beforeEach(() => {
23
+ onDelete = jest.fn();
24
+ });
25
+ const renderChoicePreview = extras => {
26
+ const defaults = {
27
+ classes: {},
28
+ className: 'className',
29
+ choice: {
30
+ content: 'content',
31
+ id: '1'
32
+ },
33
+ onDelete
34
+ };
35
+ const props = {
36
+ ...defaults,
37
+ ...extras
38
+ };
39
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
40
+ theme: theme
41
+ }, /*#__PURE__*/_react.default.createElement(_choicePreview.ChoicePreview, props)));
42
+ };
43
+ describe('renders', () => {
44
+ it('renders without crashing', () => {
45
+ const {
46
+ container
47
+ } = renderChoicePreview();
48
+ expect(container).toBeInTheDocument();
49
+ });
50
+ });
51
+ });
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX2Nob2ljZVByZXZpZXciLCJqZXN0IiwibW9jayIsIkRyYWdnYWJsZUNob2ljZSIsInByb3BzIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJvbkNsaWNrIiwib25SZW1vdmVDaG9pY2UiLCJjaG9pY2UiLCJjb250ZW50IiwiSHRtbEFuZE1hdGgiLCJ0ZXh0IiwiY29sb3IiLCJ0ZXJ0aWFyeSIsInRoZW1lIiwiY3JlYXRlVGhlbWUiLCJkZXNjcmliZSIsIm9uRGVsZXRlIiwiZm4iLCJiZWZvcmVFYWNoIiwicmVuZGVyQ2hvaWNlUHJldmlldyIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImlkIiwicmVuZGVyIiwiVGhlbWVQcm92aWRlciIsIkNob2ljZVByZXZpZXciLCJpdCIsImNvbnRhaW5lciIsImV4cGVjdCIsInRvQmVJblRoZURvY3VtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Rlc2lnbi9jYXRlZ29yaWVzL19fdGVzdHNfXy9jaG9pY2UtcHJldmlldy50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgeyBUaGVtZVByb3ZpZGVyLCBjcmVhdGVUaGVtZSB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCB7IENob2ljZVByZXZpZXcgfSBmcm9tICcuLi9jaG9pY2UtcHJldmlldyc7XG5cbmplc3QubW9jaygnQHBpZS1saWIvZHJhZycsICgpID0+ICh7XG4gIERyYWdnYWJsZUNob2ljZTogKHByb3BzKSA9PiAoXG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gb25DbGljaz17cHJvcHMub25SZW1vdmVDaG9pY2V9PlJlbW92ZTwvYnV0dG9uPlxuICAgICAge3Byb3BzLmNob2ljZS5jb250ZW50fVxuICAgIDwvZGl2PlxuICApLFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL3JlbmRlci11aScsICgpID0+ICh7XG4gIEh0bWxBbmRNYXRoOiAocHJvcHMpID0+IDxkaXY+e3Byb3BzLnRleHR9PC9kaXY+LFxuICBjb2xvcjoge1xuICAgIHRlcnRpYXJ5OiAoKSA9PiAnIzAwMCcsXG4gIH0sXG59KSk7XG5cbmNvbnN0IHRoZW1lID0gY3JlYXRlVGhlbWUoKTtcblxuZGVzY3JpYmUoJ0Nob2ljZVByZXZpZXcnLCAoKSA9PiB7XG4gIGxldCBvbkRlbGV0ZSA9IGplc3QuZm4oKTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBvbkRlbGV0ZSA9IGplc3QuZm4oKTtcbiAgfSk7XG5cbiAgY29uc3QgcmVuZGVyQ2hvaWNlUHJldmlldyA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIGNob2ljZToge1xuICAgICAgICBjb250ZW50OiAnY29udGVudCcsXG4gICAgICAgIGlkOiAnMScsXG4gICAgICB9LFxuICAgICAgb25EZWxldGUsXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoXG4gICAgICA8VGhlbWVQcm92aWRlciB0aGVtZT17dGhlbWV9PlxuICAgICAgICA8Q2hvaWNlUHJldmlldyB7Li4ucHJvcHN9IC8+XG4gICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgKTtcbiAgfTtcblxuICBkZXNjcmliZSgncmVuZGVycycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNob2ljZVByZXZpZXcoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUgsT0FBQTtBQUVBSSxJQUFJLENBQUNDLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTztFQUNoQ0MsZUFBZSxFQUFHQyxLQUFLLGlCQUNyQlQsTUFBQSxDQUFBVSxPQUFBLENBQUFDLGFBQUEsMkJBQ0VYLE1BQUEsQ0FBQVUsT0FBQSxDQUFBQyxhQUFBO0lBQVFDLE9BQU8sRUFBRUgsS0FBSyxDQUFDSTtFQUFlLEdBQUMsUUFBYyxDQUFDLEVBQ3JESixLQUFLLENBQUNLLE1BQU0sQ0FBQ0MsT0FDWDtBQUVULENBQUMsQ0FBQyxDQUFDO0FBRUhULElBQUksQ0FBQ0MsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE9BQU87RUFDckNTLFdBQVcsRUFBR1AsS0FBSyxpQkFBS1QsTUFBQSxDQUFBVSxPQUFBLENBQUFDLGFBQUEsY0FBTUYsS0FBSyxDQUFDUSxJQUFVLENBQUM7RUFDL0NDLEtBQUssRUFBRTtJQUNMQyxRQUFRLEVBQUVBLENBQUEsS0FBTTtFQUNsQjtBQUNGLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTUMsS0FBSyxHQUFHLElBQUFDLG1CQUFXLEVBQUMsQ0FBQztBQUUzQkMsUUFBUSxDQUFDLGVBQWUsRUFBRSxNQUFNO0VBQzlCLElBQUlDLFFBQVEsR0FBR2pCLElBQUksQ0FBQ2tCLEVBQUUsQ0FBQyxDQUFDO0VBRXhCQyxVQUFVLENBQUMsTUFBTTtJQUNmRixRQUFRLEdBQUdqQixJQUFJLENBQUNrQixFQUFFLENBQUMsQ0FBQztFQUN0QixDQUFDLENBQUM7RUFFRixNQUFNRSxtQkFBbUIsR0FBSUMsTUFBTSxJQUFLO0lBQ3RDLE1BQU1DLFFBQVEsR0FBRztNQUNmQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO01BQ1hDLFNBQVMsRUFBRSxXQUFXO01BQ3RCaEIsTUFBTSxFQUFFO1FBQ05DLE9BQU8sRUFBRSxTQUFTO1FBQ2xCZ0IsRUFBRSxFQUFFO01BQ04sQ0FBQztNQUNEUjtJQUNGLENBQUM7SUFDRCxNQUFNZCxLQUFLLEdBQUc7TUFBRSxHQUFHbUIsUUFBUTtNQUFFLEdBQUdEO0lBQU8sQ0FBQztJQUN4QyxPQUFPLElBQUFLLGNBQU0sZUFDWGhDLE1BQUEsQ0FBQVUsT0FBQSxDQUFBQyxhQUFBLENBQUNQLE9BQUEsQ0FBQTZCLGFBQWE7TUFBQ2IsS0FBSyxFQUFFQTtJQUFNLGdCQUMxQnBCLE1BQUEsQ0FBQVUsT0FBQSxDQUFBQyxhQUFBLENBQUNOLGNBQUEsQ0FBQTZCLGFBQWEsRUFBS3pCLEtBQVEsQ0FDZCxDQUNqQixDQUFDO0VBQ0gsQ0FBQztFQUVEYSxRQUFRLENBQUMsU0FBUyxFQUFFLE1BQU07SUFDeEJhLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxNQUFNO01BQ25DLE1BQU07UUFBRUM7TUFBVSxDQUFDLEdBQUdWLG1CQUFtQixDQUFDLENBQUM7TUFDM0NXLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDLENBQUNFLGlCQUFpQixDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119