@pie-element/categorize 13.1.8 → 13.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -43
- package/configure/CHANGELOG.md +8 -41
- 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 -23
- 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,57 +3,24 @@
|
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
**Note:** Version bump only for package @pie-element/categorize
|
|
9
|
-
|
|
10
|
-
## [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)
|
|
6
|
+
# [13.2.0-beta.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@13.1.0...@pie-element/categorize@13.2.0-beta.0) (2026-08-07)
|
|
11
7
|
|
|
12
8
|
### Bug Fixes
|
|
13
9
|
|
|
14
10
|
- bump libs & shared modules PIE-706, PIE-702, PIE-679, PIE-698 ([5b1a8c4](https://github.com/pie-framework/pie-elements/commit/5b1a8c4c3eba2126fc43d78fd0187e7cd11d5424))
|
|
15
|
-
-
|
|
16
|
-
- **categorize:** use single quotes lint warning PIE-723 ([4d2162a](https://github.com/pie-framework/pie-elements/commit/4d2162a6a618a7f5104a89e753a02dba75fb8c11))
|
|
17
|
-
|
|
18
|
-
## [13.1.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@13.1.5...@pie-element/categorize@13.1.6) (2026-07-02)
|
|
19
|
-
|
|
20
|
-
### Bug Fixes
|
|
21
|
-
|
|
22
|
-
- bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
|
|
23
|
-
- sync libs versions ([48b5be9](https://github.com/pie-framework/pie-elements/commit/48b5be9559eb5b5235ca05f51c5f0161032a7041))
|
|
24
|
-
|
|
25
|
-
## [13.1.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@13.1.4...@pie-element/categorize@13.1.5) (2026-06-22)
|
|
26
|
-
|
|
27
|
-
### Bug Fixes
|
|
28
|
-
|
|
29
|
-
- bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
|
|
30
|
-
- if allowMultiplePlacements default should be false PIE-682 ([b7447f4](https://github.com/pie-framework/pie-elements/commit/b7447f4d97e9d7cc2415f54a17ffe13ed15d1ebb))
|
|
31
|
-
- if allowMultiplePlacements is missing default should be false PIE-682 ([3f93d0d](https://github.com/pie-framework/pie-elements/commit/3f93d0de81de3a5cbd2763184d2241f31e9dbae0))
|
|
32
|
-
|
|
33
|
-
## [13.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@13.1.3...@pie-element/categorize@13.1.4) (2026-06-17)
|
|
34
|
-
|
|
35
|
-
### Bug Fixes
|
|
36
|
-
|
|
11
|
+
- bump shared modules and libs PIE-600, PIE-602 ([ce99f6a](https://github.com/pie-framework/pie-elements/commit/ce99f6af50cb855b666a6df9340f9f5445fde4c4))
|
|
37
12
|
- bump shared modules and libs PIE-661 PIE-664 PIE-683 PIE-666 PIE-656 PIE-657 PIE-658 PIE-659 PIE-670 ([ebd6be4](https://github.com/pie-framework/pie-elements/commit/ebd6be4fd48fca41ad4c4908f606b25334731aed))
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
## [13.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@13.1.2...@pie-element/categorize@13.1.3) (2026-06-12)
|
|
41
|
-
|
|
42
|
-
### Bug Fixes
|
|
43
|
-
|
|
13
|
+
- bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
|
|
14
|
+
- bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
|
|
44
15
|
- bump shared modules and libsPIE-603, PIE-604, PIE-663, PIE-662, PIE-678 ([e61c7a7](https://github.com/pie-framework/pie-elements/commit/e61c7a7d23744586337dfbb17a18ebfc656c202f))
|
|
16
|
+
- **categorize:** compute allowmultiple based on response when missing, get rid of defaults value PIE, add tests PIE-723 ([3217ede](https://github.com/pie-framework/pie-elements/commit/3217edebf20e3906a8c46d775dfb2e3ee0095fd6))
|
|
45
17
|
- **categorize:** fix lint warnings PIE-433 ([b3a61de](https://github.com/pie-framework/pie-elements/commit/b3a61de893e7aa0b3bfc119ca17a6acc769a042a))
|
|
46
18
|
- **categorize:** normalize categoryCount based on allowMultiplePlacements PIE-433 ([60f8473](https://github.com/pie-framework/pie-elements/commit/60f847381b769fa3cc4add100cce821b2aa6338c))
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
- bump shared modules and libs PIE-600, PIE-602 ([ce99f6a](https://github.com/pie-framework/pie-elements/commit/ce99f6af50cb855b666a6df9340f9f5445fde4c4))
|
|
53
|
-
|
|
54
|
-
## [13.1.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@13.1.0...@pie-element/categorize@13.1.1) (2026-05-21)
|
|
55
|
-
|
|
56
|
-
**Note:** Version bump only for package @pie-element/categorize
|
|
19
|
+
- **categorize:** use single quotes lint warning PIE-723 ([4d2162a](https://github.com/pie-framework/pie-elements/commit/4d2162a6a618a7f5104a89e753a02dba75fb8c11))
|
|
20
|
+
- clear \_root reference on disconnect PIE-686 ([0a236ce](https://github.com/pie-framework/pie-elements/commit/0a236ce1decbd64b250d97484212179f62adc049))
|
|
21
|
+
- if allowMultiplePlacements default should be false PIE-682 ([b7447f4](https://github.com/pie-framework/pie-elements/commit/b7447f4d97e9d7cc2415f54a17ffe13ed15d1ebb))
|
|
22
|
+
- if allowMultiplePlacements is missing default should be false PIE-682 ([3f93d0d](https://github.com/pie-framework/pie-elements/commit/3f93d0de81de3a5cbd2763184d2241f31e9dbae0))
|
|
23
|
+
- sync libs versions ([48b5be9](https://github.com/pie-framework/pie-elements/commit/48b5be9559eb5b5235ca05f51c5f0161032a7041))
|
|
57
24
|
|
|
58
25
|
# [13.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@13.1.0-next.1...@pie-element/categorize@13.1.0) (2026-05-21)
|
|
59
26
|
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,53 +3,20 @@
|
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
**Note:** Version bump only for package @pie-element/categorize-configure
|
|
9
|
-
|
|
10
|
-
## [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)
|
|
6
|
+
# [11.2.0-beta.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@11.1.0...@pie-element/categorize-configure@11.2.0-beta.0) (2026-08-07)
|
|
11
7
|
|
|
12
8
|
### Bug Fixes
|
|
13
9
|
|
|
14
10
|
- bump libs & shared modules PIE-706, PIE-702, PIE-679, PIE-698 ([5b1a8c4](https://github.com/pie-framework/pie-elements/commit/5b1a8c4c3eba2126fc43d78fd0187e7cd11d5424))
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
## [11.1.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@11.1.5...@pie-element/categorize-configure@11.1.6) (2026-07-02)
|
|
18
|
-
|
|
19
|
-
### Bug Fixes
|
|
20
|
-
|
|
21
|
-
- bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
|
|
22
|
-
- sync libs versions ([48b5be9](https://github.com/pie-framework/pie-elements/commit/48b5be9559eb5b5235ca05f51c5f0161032a7041))
|
|
23
|
-
|
|
24
|
-
## [11.1.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@11.1.4...@pie-element/categorize-configure@11.1.5) (2026-06-22)
|
|
25
|
-
|
|
26
|
-
### Bug Fixes
|
|
27
|
-
|
|
28
|
-
- bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
|
|
29
|
-
- if allowMultiplePlacements default should be false PIE-682 ([b7447f4](https://github.com/pie-framework/pie-elements/commit/b7447f4d97e9d7cc2415f54a17ffe13ed15d1ebb))
|
|
30
|
-
|
|
31
|
-
## [11.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@11.1.3...@pie-element/categorize-configure@11.1.4) (2026-06-17)
|
|
32
|
-
|
|
33
|
-
### Bug Fixes
|
|
34
|
-
|
|
11
|
+
- bump shared modules and libs PIE-600, PIE-602 ([ce99f6a](https://github.com/pie-framework/pie-elements/commit/ce99f6af50cb855b666a6df9340f9f5445fde4c4))
|
|
35
12
|
- bump shared modules and libs PIE-661 PIE-664 PIE-683 PIE-666 PIE-656 PIE-657 PIE-658 PIE-659 PIE-670 ([ebd6be4](https://github.com/pie-framework/pie-elements/commit/ebd6be4fd48fca41ad4c4908f606b25334731aed))
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
## [11.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@11.1.2...@pie-element/categorize-configure@11.1.3) (2026-06-12)
|
|
39
|
-
|
|
40
|
-
### Bug Fixes
|
|
41
|
-
|
|
13
|
+
- bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
|
|
14
|
+
- bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
|
|
42
15
|
- bump shared modules and libsPIE-603, PIE-604, PIE-663, PIE-662, PIE-678 ([e61c7a7](https://github.com/pie-framework/pie-elements/commit/e61c7a7d23744586337dfbb17a18ebfc656c202f))
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
- bump shared modules and libs PIE-600, PIE-602 ([ce99f6a](https://github.com/pie-framework/pie-elements/commit/ce99f6af50cb855b666a6df9340f9f5445fde4c4))
|
|
49
|
-
|
|
50
|
-
## [11.1.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@11.1.0...@pie-element/categorize-configure@11.1.1) (2026-05-21)
|
|
51
|
-
|
|
52
|
-
**Note:** Version bump only for package @pie-element/categorize-configure
|
|
16
|
+
- **categorize:** compute allowmultiple based on response when missing, get rid of defaults value PIE, add tests PIE-723 ([3217ede](https://github.com/pie-framework/pie-elements/commit/3217edebf20e3906a8c46d775dfb2e3ee0095fd6))
|
|
17
|
+
- clear \_root reference on disconnect PIE-686 ([0a236ce](https://github.com/pie-framework/pie-elements/commit/0a236ce1decbd64b250d97484212179f62adc049))
|
|
18
|
+
- if allowMultiplePlacements default should be false PIE-682 ([b7447f4](https://github.com/pie-framework/pie-elements/commit/b7447f4d97e9d7cc2415f54a17ffe13ed15d1ebb))
|
|
19
|
+
- sync libs versions ([48b5be9](https://github.com/pie-framework/pie-elements/commit/48b5be9559eb5b5235ca05f51c5f0161032a7041))
|
|
53
20
|
|
|
54
21
|
# [11.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@11.1.0-next.1...@pie-element/categorize-configure@11.1.0) (2026-05-21)
|
|
55
22
|
|
|
@@ -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==
|