@pie-element/categorize 13.1.8 → 13.1.9

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 +4 -0
  2. package/configure/CHANGELOG.md +4 -0
  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 +1 -1
  19. package/controller/CHANGELOG.md +4 -0
  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 +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [13.1.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@13.1.7...@pie-element/categorize@13.1.9) (2026-08-11)
7
+
8
+ **Note:** Version bump only for package @pie-element/categorize
9
+
6
10
  ## [13.1.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@13.1.7...@pie-element/categorize@13.1.8) (2026-07-31)
7
11
 
8
12
  **Note:** Version bump only for package @pie-element/categorize
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [11.1.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@11.1.7...@pie-element/categorize-configure@11.1.9) (2026-08-11)
7
+
8
+ **Note:** Version bump only for package @pie-element/categorize-configure
9
+
6
10
  ## [11.1.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@11.1.7...@pie-element/categorize-configure@11.1.8) (2026-07-31)
7
11
 
8
12
  **Note:** Version bump only for package @pie-element/categorize-configure
@@ -0,0 +1,100 @@
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 _main = require("../main");
8
+ // Mock the Design component to avoid complex dependencies
9
+ jest.mock('../design', () => ({
10
+ model,
11
+ configuration,
12
+ onChange,
13
+ title
14
+ }) => /*#__PURE__*/_react.default.createElement("div", {
15
+ "data-testid": "design-component"
16
+ }, /*#__PURE__*/_react.default.createElement("span", {
17
+ "data-testid": "design-title"
18
+ }, title), /*#__PURE__*/_react.default.createElement("span", {
19
+ "data-testid": "categories-count"
20
+ }, model?.categories?.length || 0), /*#__PURE__*/_react.default.createElement("span", {
21
+ "data-testid": "choices-count"
22
+ }, model?.choices?.length || 0)));
23
+ const theme = (0, _styles.createTheme)();
24
+ const createModel = (overrides = {}) => ({
25
+ correctResponse: [],
26
+ choices: [],
27
+ categories: [],
28
+ ...overrides
29
+ });
30
+ describe('Main', () => {
31
+ const onModelChanged = jest.fn();
32
+ beforeEach(() => {
33
+ jest.clearAllMocks();
34
+ });
35
+ const renderMain = (extras = {}) => {
36
+ const defaults = {
37
+ classes: {},
38
+ className: 'className',
39
+ onModelChanged,
40
+ model: createModel()
41
+ };
42
+ const props = {
43
+ ...defaults,
44
+ ...extras
45
+ };
46
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
47
+ theme: theme
48
+ }, /*#__PURE__*/_react.default.createElement(_main.Main, props)));
49
+ };
50
+ describe('rendering', () => {
51
+ it('renders without crashing', () => {
52
+ const {
53
+ container
54
+ } = renderMain();
55
+ expect(container).toBeInTheDocument();
56
+ });
57
+ it('renders the Design component', () => {
58
+ renderMain();
59
+ expect(_react2.screen.getByTestId('design-component')).toBeInTheDocument();
60
+ });
61
+ it('passes "Design" as the title', () => {
62
+ renderMain();
63
+ expect(_react2.screen.getByTestId('design-title')).toHaveTextContent('Design');
64
+ });
65
+ });
66
+ describe('model passing', () => {
67
+ it('passes model with categories to Design', () => {
68
+ renderMain({
69
+ model: createModel({
70
+ categories: [{
71
+ id: '1',
72
+ label: 'Category 1'
73
+ }, {
74
+ id: '2',
75
+ label: 'Category 2'
76
+ }]
77
+ })
78
+ });
79
+ expect(_react2.screen.getByTestId('categories-count')).toHaveTextContent('2');
80
+ });
81
+ it('passes model with choices to Design', () => {
82
+ renderMain({
83
+ model: createModel({
84
+ choices: [{
85
+ id: '1',
86
+ content: 'Choice 1'
87
+ }, {
88
+ id: '2',
89
+ content: 'Choice 2'
90
+ }, {
91
+ id: '3',
92
+ content: 'Choice 3'
93
+ }]
94
+ })
95
+ });
96
+ expect(_react2.screen.getByTestId('choices-count')).toHaveTextContent('3');
97
+ });
98
+ });
99
+ });
100
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX21haW4iLCJqZXN0IiwibW9jayIsIm1vZGVsIiwiY29uZmlndXJhdGlvbiIsIm9uQ2hhbmdlIiwidGl0bGUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsImNhdGVnb3JpZXMiLCJsZW5ndGgiLCJjaG9pY2VzIiwidGhlbWUiLCJjcmVhdGVUaGVtZSIsImNyZWF0ZU1vZGVsIiwib3ZlcnJpZGVzIiwiY29ycmVjdFJlc3BvbnNlIiwiZGVzY3JpYmUiLCJvbk1vZGVsQ2hhbmdlZCIsImZuIiwiYmVmb3JlRWFjaCIsImNsZWFyQWxsTW9ja3MiLCJyZW5kZXJNYWluIiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZW5kZXIiLCJUaGVtZVByb3ZpZGVyIiwiTWFpbiIsIml0IiwiY29udGFpbmVyIiwiZXhwZWN0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJzY3JlZW4iLCJnZXRCeVRlc3RJZCIsInRvSGF2ZVRleHRDb250ZW50IiwiaWQiLCJsYWJlbCIsImNvbnRlbnQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL21haW4udGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciwgc2NyZWVuIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgeyBUaGVtZVByb3ZpZGVyLCBjcmVhdGVUaGVtZSB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcblxuaW1wb3J0IHsgTWFpbiB9IGZyb20gJy4uL21haW4nO1xuXG4vLyBNb2NrIHRoZSBEZXNpZ24gY29tcG9uZW50IHRvIGF2b2lkIGNvbXBsZXggZGVwZW5kZW5jaWVzXG5qZXN0Lm1vY2soJy4uL2Rlc2lnbicsICgpID0+ICh7IG1vZGVsLCBjb25maWd1cmF0aW9uLCBvbkNoYW5nZSwgdGl0bGUgfSkgPT4gKFxuICA8ZGl2IGRhdGEtdGVzdGlkPVwiZGVzaWduLWNvbXBvbmVudFwiPlxuICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwiZGVzaWduLXRpdGxlXCI+e3RpdGxlfTwvc3Bhbj5cbiAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNhdGVnb3JpZXMtY291bnRcIj57bW9kZWw/LmNhdGVnb3JpZXM/Lmxlbmd0aCB8fCAwfTwvc3Bhbj5cbiAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNob2ljZXMtY291bnRcIj57bW9kZWw/LmNob2ljZXM/Lmxlbmd0aCB8fCAwfTwvc3Bhbj5cbiAgPC9kaXY+XG4pKTtcblxuY29uc3QgdGhlbWUgPSBjcmVhdGVUaGVtZSgpO1xuXG5jb25zdCBjcmVhdGVNb2RlbCA9IChvdmVycmlkZXMgPSB7fSkgPT4gKHtcbiAgY29ycmVjdFJlc3BvbnNlOiBbXSxcbiAgY2hvaWNlczogW10sXG4gIGNhdGVnb3JpZXM6IFtdLFxuICAuLi5vdmVycmlkZXMsXG59KTtcblxuZGVzY3JpYmUoJ01haW4nLCAoKSA9PiB7XG4gIGNvbnN0IG9uTW9kZWxDaGFuZ2VkID0gamVzdC5mbigpO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGplc3QuY2xlYXJBbGxNb2NrcygpO1xuICB9KTtcblxuICBjb25zdCByZW5kZXJNYWluID0gKGV4dHJhcyA9IHt9KSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbk1vZGVsQ2hhbmdlZCxcbiAgICAgIG1vZGVsOiBjcmVhdGVNb2RlbCgpLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcblxuICAgIHJldHVybiByZW5kZXIoXG4gICAgICA8VGhlbWVQcm92aWRlciB0aGVtZT17dGhlbWV9PlxuICAgICAgICA8TWFpbiB7Li4ucHJvcHN9IC8+XG4gICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgKTtcbiAgfTtcblxuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyTWFpbigpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lcikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHRoZSBEZXNpZ24gY29tcG9uZW50JywgKCkgPT4ge1xuICAgICAgcmVuZGVyTWFpbigpO1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRlc3RJZCgnZGVzaWduLWNvbXBvbmVudCcpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Bhc3NlcyBcIkRlc2lnblwiIGFzIHRoZSB0aXRsZScsICgpID0+IHtcbiAgICAgIHJlbmRlck1haW4oKTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXN0SWQoJ2Rlc2lnbi10aXRsZScpKS50b0hhdmVUZXh0Q29udGVudCgnRGVzaWduJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdtb2RlbCBwYXNzaW5nJywgKCkgPT4ge1xuICAgIGl0KCdwYXNzZXMgbW9kZWwgd2l0aCBjYXRlZ29yaWVzIHRvIERlc2lnbicsICgpID0+IHtcbiAgICAgIHJlbmRlck1haW4oe1xuICAgICAgICBtb2RlbDogY3JlYXRlTW9kZWwoe1xuICAgICAgICAgIGNhdGVnb3JpZXM6IFtcbiAgICAgICAgICAgIHsgaWQ6ICcxJywgbGFiZWw6ICdDYXRlZ29yeSAxJyB9LFxuICAgICAgICAgICAgeyBpZDogJzInLCBsYWJlbDogJ0NhdGVnb3J5IDInIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXN0SWQoJ2NhdGVnb3JpZXMtY291bnQnKSkudG9IYXZlVGV4dENvbnRlbnQoJzInKTtcbiAgICB9KTtcblxuICAgIGl0KCdwYXNzZXMgbW9kZWwgd2l0aCBjaG9pY2VzIHRvIERlc2lnbicsICgpID0+IHtcbiAgICAgIHJlbmRlck1haW4oe1xuICAgICAgICBtb2RlbDogY3JlYXRlTW9kZWwoe1xuICAgICAgICAgIGNob2ljZXM6IFtcbiAgICAgICAgICAgIHsgaWQ6ICcxJywgY29udGVudDogJ0Nob2ljZSAxJyB9LFxuICAgICAgICAgICAgeyBpZDogJzInLCBjb250ZW50OiAnQ2hvaWNlIDInIH0sXG4gICAgICAgICAgICB7IGlkOiAnMycsIGNvbnRlbnQ6ICdDaG9pY2UgMycgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRlc3RJZCgnY2hvaWNlcy1jb3VudCcpKS50b0hhdmVUZXh0Q29udGVudCgnMycpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFFQTtBQUNBSSxJQUFJLENBQUNDLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO0VBQUVDLEtBQUs7RUFBRUMsYUFBYTtFQUFFQyxRQUFRO0VBQUVDO0FBQU0sQ0FBQyxrQkFDckVYLE1BQUEsQ0FBQVksT0FBQSxDQUFBQyxhQUFBO0VBQUssZUFBWTtBQUFrQixnQkFDakNiLE1BQUEsQ0FBQVksT0FBQSxDQUFBQyxhQUFBO0VBQU0sZUFBWTtBQUFjLEdBQUVGLEtBQVksQ0FBQyxlQUMvQ1gsTUFBQSxDQUFBWSxPQUFBLENBQUFDLGFBQUE7RUFBTSxlQUFZO0FBQWtCLEdBQUVMLEtBQUssRUFBRU0sVUFBVSxFQUFFQyxNQUFNLElBQUksQ0FBUSxDQUFDLGVB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
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.extractArgs = exports.callsOnChange = void 0;
8
+ var _util = _interopRequireDefault(require("util"));
9
+ const extractArgs = argObject => {
10
+ let args = Array.prototype.slice.call(arguments);
11
+ const method = args[0];
12
+ const last = args[args.length - 1];
13
+ const fnArgs = args.splice(1, args.length - 2);
14
+ return {
15
+ method,
16
+ last,
17
+ fnArgs
18
+ };
19
+ };
20
+ exports.extractArgs = extractArgs;
21
+ const callsOnChange = function () {
22
+ let args = Array.prototype.slice.call(arguments);
23
+ const wrapper = args[0];
24
+ const method = args[1];
25
+ const expected = args[args.length - 1];
26
+ const fnArgs = args.splice(2, args.length - 3);
27
+ const argString = fnArgs.map(o => _util.default.inspect(o, {
28
+ colors: true
29
+ })).join(', ');
30
+ it(`${method}(${argString}) calls onChange with ${_util.default.inspect(expected, {
31
+ colors: true
32
+ })}`, () => {
33
+ const instance = wrapper.instance();
34
+ instance[method].apply(instance, fnArgs);
35
+ expected();
36
+ });
37
+ };
38
+ exports.callsOnChange = callsOnChange;
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXRpbCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZXh0cmFjdEFyZ3MiLCJhcmdPYmplY3QiLCJhcmdzIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJzbGljZSIsImNhbGwiLCJhcmd1bWVudHMiLCJtZXRob2QiLCJsYXN0IiwibGVuZ3RoIiwiZm5BcmdzIiwic3BsaWNlIiwiZXhwb3J0cyIsImNhbGxzT25DaGFuZ2UiLCJ3cmFwcGVyIiwiZXhwZWN0ZWQiLCJhcmdTdHJpbmciLCJtYXAiLCJvIiwidXRpbCIsImluc3BlY3QiLCJjb2xvcnMiLCJqb2luIiwiaXQiLCJpbnN0YW5jZSIsImFwcGx5Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy91dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXRpbCBmcm9tICd1dGlsJztcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RBcmdzID0gKGFyZ09iamVjdCkgPT4ge1xuICBsZXQgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG4gIGNvbnN0IG1ldGhvZCA9IGFyZ3NbMF07XG4gIGNvbnN0IGxhc3QgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV07XG4gIGNvbnN0IGZuQXJncyA9IGFyZ3Muc3BsaWNlKDEsIGFyZ3MubGVuZ3RoIC0gMik7XG4gIHJldHVybiB7IG1ldGhvZCwgbGFzdCwgZm5BcmdzIH07XG59O1xuXG5leHBvcnQgY29uc3QgY2FsbHNPbkNoYW5nZSA9IGZ1bmN0aW9uICgpIHtcbiAgbGV0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuICBjb25zdCB3cmFwcGVyID0gYXJnc1swXTtcbiAgY29uc3QgbWV0aG9kID0gYXJnc1sxXTtcbiAgY29uc3QgZXhwZWN0ZWQgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV07XG4gIGNvbnN0IGZuQXJncyA9IGFyZ3Muc3BsaWNlKDIsIGFyZ3MubGVuZ3RoIC0gMyk7XG4gIGNvbnN0IGFyZ1N0cmluZyA9IGZuQXJncy5tYXAoKG8pID0+IHV0aWwuaW5zcGVjdChvLCB7IGNvbG9yczogdHJ1ZSB9KSkuam9pbignLCAnKTtcbiAgaXQoYCR7bWV0aG9kfSgke2FyZ1N0cmluZ30pIGNhbGxzIG9uQ2hhbmdlIHdpdGggJHt1dGlsLmluc3BlY3QoZXhwZWN0ZWQsIHtcbiAgICBjb2xvcnM6IHRydWUsXG4gIH0pfWAsICgpID0+IHtcbiAgICBjb25zdCBpbnN0YW5jZSA9IHdyYXBwZXIuaW5zdGFuY2UoKTtcbiAgICBpbnN0YW5jZVttZXRob2RdLmFwcGx5KGluc3RhbmNlLCBmbkFyZ3MpO1xuICAgIGV4cGVjdGVkKCk7XG4gIH0pO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVPLE1BQU1DLFdBQVcsR0FBSUMsU0FBUyxJQUFLO0VBQ3hDLElBQUlDLElBQUksR0FBR0MsS0FBSyxDQUFDQyxTQUFTLENBQUNDLEtBQUssQ0FBQ0MsSUFBSSxDQUFDQyxTQUFTLENBQUM7RUFDaEQsTUFBTUMsTUFBTSxHQUFHTixJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQ3RCLE1BQU1PLElBQUksR0FBR1AsSUFBSSxDQUFDQSxJQUFJLENBQUNRLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDbEMsTUFBTUMsTUFBTSxHQUFHVCxJQUFJLENBQUNVLE1BQU0sQ0FBQyxDQUFDLEVBQUVWLElBQUksQ0FBQ1EsTUFBTSxHQUFHLENBQUMsQ0FBQztFQUM5QyxPQUFPO0lBQUVGLE1BQU07SUFBRUMsSUFBSTtJQUFFRTtFQUFPLENBQUM7QUFDakMsQ0FBQztBQUFDRSxPQUFBLENBQUFiLFdBQUEsR0FBQUEsV0FBQTtBQUVLLE1BQU1jLGFBQWEsR0FBRyxTQUFBQSxDQUFBLEVBQVk7RUFDdkMsSUFBSVosSUFBSSxHQUFHQyxLQUFLLENBQUNDLFNBQVMsQ0FBQ0MsS0FBSyxDQUFDQyxJQUFJLENBQUNDLFNBQVMsQ0FBQztFQUNoRCxNQUFNUSxPQUFPLEdBQUdiLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDdkIsTUFBTU0sTUFBTSxHQUFHTixJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQ3RCLE1BQU1jLFFBQVEsR0FBR2QsSUFBSSxDQUFDQSxJQUFJLENBQUNRLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDdEMsTUFBTUMsTUFBTSxHQUFHVCxJQUFJLENBQUNVLE1BQU0sQ0FBQyxDQUFDLEVBQUVWLElBQUksQ0FBQ1EsTUFBTSxHQUFHLENBQUMsQ0FBQztFQUM5QyxNQUFNTyxTQUFTLEdBQUdOLE1BQU0sQ0FBQ08sR0FBRyxDQUFFQyxDQUFDLElBQUtDLGFBQUksQ0FBQ0MsT0FBTyxDQUFDRixDQUFDLEVBQUU7SUFBRUcsTUFBTSxFQUFFO0VBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQztFQUNqRkMsRUFBRSxDQUFDLEdBQUdoQixNQUFNLElBQUlTLFNBQVMseUJBQXlCRyxhQUFJLENBQUNDLE9BQU8sQ0FBQ0wsUUFBUSxFQUFFO0lBQ3ZFTSxNQUFNLEVBQUU7RUFDVixDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU07SUFDVixNQUFNRyxRQUFRLEdBQUdWLE9BQU8sQ0FBQ1UsUUFBUSxDQUFDLENBQUM7SUFDbkNBLFFBQVEsQ0FBQ2pCLE1BQU0sQ0FBQyxDQUFDa0IsS0FBSyxDQUFDRCxRQUFRLEVBQUVkLE1BQU0sQ0FBQztJQUN4Q0ssUUFBUSxDQUFDLENBQUM7RUFDWixDQUFDLENBQUM7QUFDSixDQUFDO0FBQUNILE9BQUEsQ0FBQUMsYUFBQSxHQUFBQSxhQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _builder = require("../builder");
4
+ describe('builder', () => {
5
+ describe('buildCategories', () => {
6
+ let categories;
7
+ let choices;
8
+ let correctResponse;
9
+ beforeEach(() => {
10
+ categories = [{
11
+ id: '1'
12
+ }];
13
+ choices = [{
14
+ id: '1',
15
+ content: 'content'
16
+ }];
17
+ correctResponse = [{
18
+ category: '1',
19
+ choices: ['1']
20
+ }];
21
+ });
22
+ it('adds choices from the correct response', () => {
23
+ const result = (0, _builder.buildCategories)(categories, choices, correctResponse);
24
+ expect(result).toEqual([{
25
+ id: '1',
26
+ choices: [{
27
+ id: '1',
28
+ content: 'content'
29
+ }]
30
+ }]);
31
+ });
32
+ });
33
+ });
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYnVpbGRlciIsInJlcXVpcmUiLCJkZXNjcmliZSIsImNhdGVnb3JpZXMiLCJjaG9pY2VzIiwiY29ycmVjdFJlc3BvbnNlIiwiYmVmb3JlRWFjaCIsImlkIiwiY29udGVudCIsImNhdGVnb3J5IiwiaXQiLCJyZXN1bHQiLCJidWlsZENhdGVnb3JpZXMiLCJleHBlY3QiLCJ0b0VxdWFsIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rlc2lnbi9fX3Rlc3RzX18vYnVpbGRlci50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJ1aWxkQ2F0ZWdvcmllcyB9IGZyb20gJy4uL2J1aWxkZXInO1xuXG5kZXNjcmliZSgnYnVpbGRlcicsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2J1aWxkQ2F0ZWdvcmllcycsICgpID0+IHtcbiAgICBsZXQgY2F0ZWdvcmllcztcbiAgICBsZXQgY2hvaWNlcztcbiAgICBsZXQgY29ycmVjdFJlc3BvbnNlO1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBjYXRlZ29yaWVzID0gW3sgaWQ6ICcxJyB9XTtcblxuICAgICAgY2hvaWNlcyA9IFt7IGlkOiAnMScsIGNvbnRlbnQ6ICdjb250ZW50JyB9XTtcblxuICAgICAgY29ycmVjdFJlc3BvbnNlID0gW3sgY2F0ZWdvcnk6ICcxJywgY2hvaWNlczogWycxJ10gfV07XG4gICAgfSk7XG5cbiAgICBpdCgnYWRkcyBjaG9pY2VzIGZyb20gdGhlIGNvcnJlY3QgcmVzcG9uc2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZENhdGVnb3JpZXMoY2F0ZWdvcmllcywgY2hvaWNlcywgY29ycmVjdFJlc3BvbnNlKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgIGNob2ljZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICAgICAgY29udGVudDogJ2NvbnRlbnQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBRUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsTUFBTTtFQUN4QkEsUUFBUSxDQUFDLGlCQUFpQixFQUFFLE1BQU07SUFDaEMsSUFBSUMsVUFBVTtJQUNkLElBQUlDLE9BQU87SUFDWCxJQUFJQyxlQUFlO0lBRW5CQyxVQUFVLENBQUMsTUFBTTtNQUNmSCxVQUFVLEdBQUcsQ0FBQztRQUFFSSxFQUFFLEVBQUU7TUFBSSxDQUFDLENBQUM7TUFFMUJILE9BQU8sR0FBRyxDQUFDO1FBQUVHLEVBQUUsRUFBRSxHQUFHO1FBQUVDLE9BQU8sRUFBRTtNQUFVLENBQUMsQ0FBQztNQUUzQ0gsZUFBZSxHQUFHLENBQUM7UUFBRUksUUFBUSxFQUFFLEdBQUc7UUFBRUwsT0FBTyxFQUFFLENBQUMsR0FBRztNQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDLENBQUM7SUFFRk0sRUFBRSxDQUFDLHdDQUF3QyxFQUFFLE1BQU07TUFDakQsTUFBTUMsTUFBTSxHQUFHLElBQUFDLHdCQUFlLEVBQUNULFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxlQUFlLENBQUM7TUFFcEVRLE1BQU0sQ0FBQ0YsTUFBTSxDQUFDLENBQUNHLE9BQU8sQ0FBQyxDQUNyQjtRQUNFUCxFQUFFLEVBQUUsR0FBRztRQUNQSCxPQUFPLEVBQUUsQ0FDUDtVQUNFRyxFQUFFLEVBQUUsR0FBRztVQUNQQyxPQUFPLEVBQUU7UUFDWCxDQUFDO01BRUwsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,36 @@
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 _buttons = require("../buttons");
8
+ const theme = (0, _styles.createTheme)();
9
+ describe('AddButton', () => {
10
+ let onClick = jest.fn();
11
+ const renderAddButton = extras => {
12
+ const defaults = {
13
+ classes: {
14
+ addButton: 'addButton'
15
+ },
16
+ className: 'className',
17
+ onClick
18
+ };
19
+ const props = {
20
+ ...defaults,
21
+ ...extras
22
+ };
23
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
24
+ theme: theme
25
+ }, /*#__PURE__*/_react.default.createElement(_buttons.RawAddButton, props)));
26
+ };
27
+ describe('renders', () => {
28
+ it('renders without crashing', () => {
29
+ const {
30
+ container
31
+ } = renderAddButton();
32
+ expect(container).toBeInTheDocument();
33
+ });
34
+ });
35
+ });
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX2J1dHRvbnMiLCJ0aGVtZSIsImNyZWF0ZVRoZW1lIiwiZGVzY3JpYmUiLCJvbkNsaWNrIiwiamVzdCIsImZuIiwicmVuZGVyQWRkQnV0dG9uIiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJjbGFzc2VzIiwiYWRkQnV0dG9uIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZW5kZXIiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIlRoZW1lUHJvdmlkZXIiLCJSYXdBZGRCdXR0b24iLCJpdCIsImNvbnRhaW5lciIsImV4cGVjdCIsInRvQmVJblRoZURvY3VtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rlc2lnbi9fX3Rlc3RzX18vYnV0dG9ucy50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgeyBUaGVtZVByb3ZpZGVyLCBjcmVhdGVUaGVtZSB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcblxuaW1wb3J0IHsgUmF3QWRkQnV0dG9uIH0gZnJvbSAnLi4vYnV0dG9ucyc7XG5cbmNvbnN0IHRoZW1lID0gY3JlYXRlVGhlbWUoKTtcblxuZGVzY3JpYmUoJ0FkZEJ1dHRvbicsICgpID0+IHtcbiAgbGV0IG9uQ2xpY2sgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHJlbmRlckFkZEJ1dHRvbiA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHsgYWRkQnV0dG9uOiAnYWRkQnV0dG9uJyB9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2xpY2ssXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoXG4gICAgICA8VGhlbWVQcm92aWRlciB0aGVtZT17dGhlbWV9PlxuICAgICAgICA8UmF3QWRkQnV0dG9uIHsuLi5wcm9wc30gLz5cbiAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICApO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJzJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQWRkQnV0dG9uKCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFFQSxNQUFNSSxLQUFLLEdBQUcsSUFBQUMsbUJBQVcsRUFBQyxDQUFDO0FBRTNCQyxRQUFRLENBQUMsV0FBVyxFQUFFLE1BQU07RUFDMUIsSUFBSUMsT0FBTyxHQUFHQyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0VBQ3ZCLE1BQU1DLGVBQWUsR0FBSUMsTUFBTSxJQUFLO0lBQ2xDLE1BQU1DLFFBQVEsR0FBRztNQUNmQyxPQUFPLEVBQUU7UUFBRUMsU0FBUyxFQUFFO01BQVksQ0FBQztNQUNuQ0MsU0FBUyxFQUFFLFdBQVc7TUFDdEJSO0lBQ0YsQ0FBQztJQUNELE1BQU1TLEtBQUssR0FBRztNQUFFLEdBQUdKLFFBQVE7TUFBRSxHQUFHRDtJQUFPLENBQUM7SUFDeEMsT0FBTyxJQUFBTSxjQUFNLGVBQ1huQixNQUFBLENBQUFvQixPQUFBLENBQUFDLGFBQUEsQ0FBQ2pCLE9BQUEsQ0FBQWtCLGFBQWE7TUFBQ2hCLEtBQUssRUFBRUE7SUFBTSxnQkFDMUJOLE1BQUEsQ0FBQW9CLE9BQUEsQ0FBQUMsYUFBQSxDQUFDaEIsUUFBQSxDQUFBa0IsWUFBWSxFQUFLTCxLQUFRLENBQ2IsQ0FDakIsQ0FBQztFQUNILENBQUM7RUFFRFYsUUFBUSxDQUFDLFNBQVMsRUFBRSxNQUFNO0lBQ3hCZ0IsRUFBRSxDQUFDLDBCQUEwQixFQUFFLE1BQU07TUFDbkMsTUFBTTtRQUFFQztNQUFVLENBQUMsR0FBR2IsZUFBZSxDQUFDLENBQUM7TUFDdkNjLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDLENBQUNFLGlCQUFpQixDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,37 @@
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 _header = require("../header");
8
+ const theme = (0, _styles.createTheme)();
9
+ describe('Header', () => {
10
+ let onAdd = jest.fn();
11
+ const renderHeader = extras => {
12
+ const defaults = {
13
+ classes: {
14
+ header: 'header'
15
+ },
16
+ label: 'Header',
17
+ className: 'className',
18
+ onAdd
19
+ };
20
+ const props = {
21
+ ...defaults,
22
+ ...extras
23
+ };
24
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
25
+ theme: theme
26
+ }, /*#__PURE__*/_react.default.createElement(_header.Header, props)));
27
+ };
28
+ describe('renders', () => {
29
+ it('renders without crashing', () => {
30
+ const {
31
+ container
32
+ } = renderHeader();
33
+ expect(container).toBeInTheDocument();
34
+ });
35
+ });
36
+ });
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX2hlYWRlciIsInRoZW1lIiwiY3JlYXRlVGhlbWUiLCJkZXNjcmliZSIsIm9uQWRkIiwiamVzdCIsImZuIiwicmVuZGVySGVhZGVyIiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJjbGFzc2VzIiwiaGVhZGVyIiwibGFiZWwiLCJjbGFzc05hbWUiLCJwcm9wcyIsInJlbmRlciIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiVGhlbWVQcm92aWRlciIsIkhlYWRlciIsIml0IiwiY29udGFpbmVyIiwiZXhwZWN0IiwidG9CZUluVGhlRG9jdW1lbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzaWduL19fdGVzdHNfXy9oZWFkZXIudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHsgVGhlbWVQcm92aWRlciwgY3JlYXRlVGhlbWUgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5cbmltcG9ydCB7IEhlYWRlciB9IGZyb20gJy4uL2hlYWRlcic7XG5cbmNvbnN0IHRoZW1lID0gY3JlYXRlVGhlbWUoKTtcblxuZGVzY3JpYmUoJ0hlYWRlcicsICgpID0+IHtcbiAgbGV0IG9uQWRkID0gamVzdC5mbigpO1xuICBjb25zdCByZW5kZXJIZWFkZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7XG4gICAgICAgIGhlYWRlcjogJ2hlYWRlcicsXG4gICAgICB9LFxuICAgICAgbGFiZWw6ICdIZWFkZXInLFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQWRkLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gcmVuZGVyKFxuICAgICAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3RoZW1lfT5cbiAgICAgICAgPEhlYWRlciB7Li4ucHJvcHN9IC8+XG4gICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgKTtcbiAgfTtcbiAgZGVzY3JpYmUoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJIZWFkZXIoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUVBLE1BQU1JLEtBQUssR0FBRyxJQUFBQyxtQkFBVyxFQUFDLENBQUM7QUFFM0JDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTTtFQUN2QixJQUFJQyxLQUFLLEdBQUdDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7RUFDckIsTUFBTUMsWUFBWSxHQUFJQyxNQUFNLElBQUs7SUFDL0IsTUFBTUMsUUFBUSxHQUFHO01BQ2ZDLE9BQU8sRUFBRTtRQUNQQyxNQUFNLEVBQUU7TUFDVixDQUFDO01BQ0RDLEtBQUssRUFBRSxRQUFRO01BQ2ZDLFNBQVMsRUFBRSxXQUFXO01BQ3RCVDtJQUNGLENBQUM7SUFDRCxNQUFNVSxLQUFLLEdBQUc7TUFBRSxHQUFHTCxRQUFRO01BQUUsR0FBR0Q7SUFBTyxDQUFDO0lBQ3hDLE9BQU8sSUFBQU8sY0FBTSxlQUNYcEIsTUFBQSxDQUFBcUIsT0FBQSxDQUFBQyxhQUFBLENBQUNsQixPQUFBLENBQUFtQixhQUFhO01BQUNqQixLQUFLLEVBQUVBO0lBQU0sZ0JBQzFCTixNQUFBLENBQUFxQixPQUFBLENBQUFDLGFBQUEsQ0FBQ2pCLE9BQUEsQ0FBQW1CLE1BQU0sRUFBS0wsS0FBUSxDQUNQLENBQ2pCLENBQUM7RUFDSCxDQUFDO0VBQ0RYLFFBQVEsQ0FBQyxTQUFTLEVBQUUsTUFBTTtJQUN4QmlCLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxNQUFNO01BQ25DLE1BQU07UUFBRUM7TUFBVSxDQUFDLEdBQUdkLFlBQVksQ0FBQyxDQUFDO01BQ3BDZSxNQUFNLENBQUNELFNBQVMsQ0FBQyxDQUFDRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -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