@pie-element/categorize 13.1.7 → 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.
- package/CHANGELOG.md +8 -0
- package/configure/CHANGELOG.md +8 -0
- package/configure/lib/__tests__/main.test.js +100 -0
- package/configure/lib/__tests__/utils.js +39 -0
- package/configure/lib/design/__tests__/builder.test.js +34 -0
- package/configure/lib/design/__tests__/buttons.test.js +36 -0
- package/configure/lib/design/__tests__/header.test.js +37 -0
- package/configure/lib/design/__tests__/index.test.js +269 -0
- package/configure/lib/design/__tests__/input-header.test.js +41 -0
- package/configure/lib/design/categories/__tests__/alternateResponses.test.js +93 -0
- package/configure/lib/design/categories/__tests__/category.test.js +65 -0
- package/configure/lib/design/categories/__tests__/choice-preview.test.js +52 -0
- package/configure/lib/design/categories/__tests__/droppable-placeholder.test.js +63 -0
- package/configure/lib/design/categories/__tests__/index.test.js +91 -0
- package/configure/lib/design/choices/__tests__/choice.test.js +62 -0
- package/configure/lib/design/choices/__tests__/config.test.js +66 -0
- package/configure/lib/design/choices/__tests__/index.test.js +70 -0
- package/configure/package.json +3 -3
- package/controller/CHANGELOG.md +4 -0
- package/controller/lib/__tests__/index.test.js +526 -0
- package/controller/package.json +1 -1
- package/docs/demo/.pie/.configure/package.json +10 -0
- package/docs/demo/.pie/.configure/yarn.lock +2122 -0
- package/docs/demo/.pie/.controllers/package.json +10 -0
- package/docs/demo/.pie/.controllers/yarn.lock +110 -0
- package/docs/demo/.pie/info.entry.js +89 -0
- package/docs/demo/.pie/info.webpack.config.js +119 -0
- package/docs/demo/.pie/package.json +10 -0
- package/docs/demo/.pie/yarn.lock +2137 -0
- package/docs/demo/pie.manifest.json +11 -0
- package/lib/__tests__/index.test.js +197 -0
- package/lib/categorize/__tests__/categories.test.js +138 -0
- package/lib/categorize/__tests__/category.test.js +137 -0
- package/lib/categorize/__tests__/choice.test.js +88 -0
- package/lib/categorize/__tests__/choices.test.js +118 -0
- package/lib/categorize/__tests__/droppable-placeholder.test.js +96 -0
- package/lib/categorize/__tests__/grid-content.test.js +48 -0
- package/lib/categorize/__tests__/index.test.js +250 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
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
|
+
|
|
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)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @pie-element/categorize
|
|
13
|
+
|
|
6
14
|
## [13.1.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@13.1.6...@pie-element/categorize@13.1.7) (2026-07-08)
|
|
7
15
|
|
|
8
16
|
### Bug Fixes
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
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
|
+
|
|
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)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @pie-element/categorize-configure
|
|
13
|
+
|
|
6
14
|
## [11.1.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@11.1.6...@pie-element/categorize-configure@11.1.7) (2026-07-08)
|
|
7
15
|
|
|
8
16
|
### Bug Fixes
|
|
@@ -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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
|