@pie-element/placement-ordering 14.3.0-beta.0 → 14.3.1

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.
@@ -1,64 +0,0 @@
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
- require("@testing-library/jest-dom");
7
- var _help = _interopRequireDefault(require("../help"));
8
- // Mock the Help component from @pie-lib/config-ui
9
- jest.mock('@pie-lib/config-ui', () => ({
10
- Help: ({
11
- title,
12
- children
13
- }) => /*#__PURE__*/_react.default.createElement("div", {
14
- "data-testid": "help-component"
15
- }, /*#__PURE__*/_react.default.createElement("div", {
16
- "data-testid": "help-title"
17
- }, title), /*#__PURE__*/_react.default.createElement("div", {
18
- "data-testid": "help-content"
19
- }, children))
20
- }));
21
- describe('Help Component', () => {
22
- it('should render without crashing', () => {
23
- const {
24
- container
25
- } = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_help.default, null));
26
- expect(container).toBeTruthy();
27
- });
28
- it('should render with correct title', () => {
29
- (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_help.default, null));
30
- expect(_react2.screen.getByTestId('help-title')).toHaveTextContent('Help');
31
- });
32
- it('should render help content', () => {
33
- (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_help.default, null));
34
- const content = _react2.screen.getByTestId('help-content');
35
- expect(content).toBeInTheDocument();
36
- });
37
- it('should contain correct help text about ordering', () => {
38
- (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_help.default, null));
39
- const content = _react2.screen.getByTestId('help-content');
40
- expect(content).toHaveTextContent('In Ordering, a student is asked to sequence events or inputs in a specific order.');
41
- });
42
- it('should contain instructions about drag and drop', () => {
43
- (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_help.default, null));
44
- const content = _react2.screen.getByTestId('help-content');
45
- expect(content).toHaveTextContent('After setting up the choices, drag and drop them into the correct order.');
46
- });
47
- it('should contain information about student view', () => {
48
- (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_help.default, null));
49
- const content = _react2.screen.getByTestId('help-content');
50
- expect(content).toHaveTextContent('Students will see a shuffled version of the choices.');
51
- });
52
- it('should render the Help component from pie-lib', () => {
53
- (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_help.default, null));
54
- expect(_react2.screen.getByTestId('help-component')).toBeInTheDocument();
55
- });
56
- it('should have line breaks in content', () => {
57
- const {
58
- container
59
- } = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_help.default, null));
60
- const breaks = container.querySelectorAll('br');
61
- expect(breaks.length).toBeGreaterThan(0);
62
- });
63
- });
64
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfaGVscCIsImplc3QiLCJtb2NrIiwiSGVscCIsInRpdGxlIiwiY2hpbGRyZW4iLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsImRlc2NyaWJlIiwiaXQiLCJjb250YWluZXIiLCJyZW5kZXIiLCJleHBlY3QiLCJ0b0JlVHJ1dGh5Iiwic2NyZWVuIiwiZ2V0QnlUZXN0SWQiLCJ0b0hhdmVUZXh0Q29udGVudCIsImNvbnRlbnQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsImJyZWFrcyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsZW5ndGgiLCJ0b0JlR3JlYXRlclRoYW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL2hlbHAudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciwgc2NyZWVuIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgJ0B0ZXN0aW5nLWxpYnJhcnkvamVzdC1kb20nO1xuaW1wb3J0IEhlbHAgZnJvbSAnLi4vaGVscCc7XG5cbi8vIE1vY2sgdGhlIEhlbHAgY29tcG9uZW50IGZyb20gQHBpZS1saWIvY29uZmlnLXVpXG5qZXN0Lm1vY2soJ0BwaWUtbGliL2NvbmZpZy11aScsICgpID0+ICh7XG4gIEhlbHA6ICh7IHRpdGxlLCBjaGlsZHJlbiB9KSA9PiAoXG4gICAgPGRpdiBkYXRhLXRlc3RpZD1cImhlbHAtY29tcG9uZW50XCI+XG4gICAgICA8ZGl2IGRhdGEtdGVzdGlkPVwiaGVscC10aXRsZVwiPnt0aXRsZX08L2Rpdj5cbiAgICAgIDxkaXYgZGF0YS10ZXN0aWQ9XCJoZWxwLWNvbnRlbnRcIj57Y2hpbGRyZW59PC9kaXY+XG4gICAgPC9kaXY+XG4gICksXG59KSk7XG5cbmRlc2NyaWJlKCdIZWxwIENvbXBvbmVudCcsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCByZW5kZXIgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxIZWxwIC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyKS50b0JlVHJ1dGh5KCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmVuZGVyIHdpdGggY29ycmVjdCB0aXRsZScsICgpID0+IHtcbiAgICByZW5kZXIoPEhlbHAgLz4pO1xuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXN0SWQoJ2hlbHAtdGl0bGUnKSkudG9IYXZlVGV4dENvbnRlbnQoJ0hlbHAnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZW5kZXIgaGVscCBjb250ZW50JywgKCkgPT4ge1xuICAgIHJlbmRlcig8SGVscCAvPik7XG4gICAgY29uc3QgY29udGVudCA9IHNjcmVlbi5nZXRCeVRlc3RJZCgnaGVscC1jb250ZW50Jyk7XG4gICAgZXhwZWN0KGNvbnRlbnQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29udGFpbiBjb3JyZWN0IGhlbHAgdGV4dCBhYm91dCBvcmRlcmluZycsICgpID0+IHtcbiAgICByZW5kZXIoPEhlbHAgLz4pO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBzY3JlZW4uZ2V0QnlUZXN0SWQoJ2hlbHAtY29udGVudCcpO1xuICAgIGV4cGVjdChjb250ZW50KS50b0hhdmVUZXh0Q29udGVudChcbiAgICAgICdJbiBPcmRlcmluZywgYSBzdHVkZW50IGlzIGFza2VkIHRvIHNlcXVlbmNlIGV2ZW50cyBvciBpbnB1dHMgaW4gYSBzcGVjaWZpYyBvcmRlci4nLFxuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29udGFpbiBpbnN0cnVjdGlvbnMgYWJvdXQgZHJhZyBhbmQgZHJvcCcsICgpID0+IHtcbiAgICByZW5kZXIoPEhlbHAgLz4pO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBzY3JlZW4uZ2V0QnlUZXN0SWQoJ2hlbHAtY29udGVudCcpO1xuICAgIGV4cGVjdChjb250ZW50KS50b0hhdmVUZXh0Q29udGVudChcbiAgICAgICdBZnRlciBzZXR0aW5nIHVwIHRoZSBjaG9pY2VzLCBkcmFnIGFuZCBkcm9wIHRoZW0gaW50byB0aGUgY29ycmVjdCBvcmRlci4nLFxuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29udGFpbiBpbmZvcm1hdGlvbiBhYm91dCBzdHVkZW50IHZpZXcnLCAoKSA9PiB7XG4gICAgcmVuZGVyKDxIZWxwIC8+KTtcbiAgICBjb25zdCBjb250ZW50ID0gc2NyZWVuLmdldEJ5VGVzdElkKCdoZWxwLWNvbnRlbnQnKTtcbiAgICBleHBlY3QoY29udGVudCkudG9IYXZlVGV4dENvbnRlbnQoJ1N0dWRlbnRzIHdpbGwgc2VlIGEgc2h1ZmZsZWQgdmVyc2lvbiBvZiB0aGUgY2hvaWNlcy4nKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZW5kZXIgdGhlIEhlbHAgY29tcG9uZW50IGZyb20gcGllLWxpYicsICgpID0+IHtcbiAgICByZW5kZXIoPEhlbHAgLz4pO1xuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXN0SWQoJ2hlbHAtY29tcG9uZW50JykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgaGF2ZSBsaW5lIGJyZWFrcyBpbiBjb250ZW50JywgKCkgPT4ge1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPEhlbHAgLz4pO1xuICAgIGNvbnN0IGJyZWFrcyA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCdicicpO1xuICAgIGV4cGVjdChicmVha3MubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMCk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBSCxzQkFBQSxD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
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- var _index = require("../index");
4
- jest.mock('@pie-lib/config-ui', () => ({
5
- FeedbackConfig: props => /*#__PURE__*/React.createElement("div", null),
6
- FormSection: props => /*#__PURE__*/React.createElement("div", null),
7
- InputContainer: props => /*#__PURE__*/React.createElement("div", null),
8
- layout: {
9
- ConfigLayout: props => /*#__PURE__*/React.createElement("div", null, props.children)
10
- },
11
- settings: {
12
- Panel: props => /*#__PURE__*/React.createElement("div", {
13
- onChange: props.onChange
14
- }),
15
- toggle: jest.fn(),
16
- radio: jest.fn()
17
- }
18
- }));
19
- describe('addWeightToCorrectResponse', () => {
20
- it('should return an array of objects { id, weight} if correctResponse is an array of strings', () => {
21
- const correctResponse = ['c1', 'c2', 'c3', 'c4'];
22
- const result = [{
23
- id: 'c1',
24
- weight: 0
25
- }, {
26
- id: 'c2',
27
- weight: 0
28
- }, {
29
- id: 'c3',
30
- weight: 0
31
- }, {
32
- id: 'c4',
33
- weight: 0
34
- }];
35
- expect((0, _index.addWeightToCorrectResponse)(correctResponse)).toEqual(expect.arrayContaining(result));
36
- });
37
- it('should keep the array of objects { id, weight} if correctResponse is an array of objects', () => {
38
- const correctResponse = [{
39
- id: 'c1',
40
- weight: 3
41
- }, {
42
- id: 'c2',
43
- weight: 3
44
- }, {
45
- id: 'c3',
46
- weight: 3
47
- }, {
48
- id: 'c4',
49
- weight: 3
50
- }];
51
- const result = [{
52
- id: 'c1',
53
- weight: 3
54
- }, {
55
- id: 'c2',
56
- weight: 3
57
- }, {
58
- id: 'c3',
59
- weight: 3
60
- }, {
61
- id: 'c4',
62
- weight: 3
63
- }];
64
- expect((0, _index.addWeightToCorrectResponse)(correctResponse)).toEqual(expect.arrayContaining(result));
65
- });
66
- it('should return empty array for undefined correctResponse', () => {
67
- const correctResponse = undefined;
68
- const result = [];
69
- expect((0, _index.addWeightToCorrectResponse)(correctResponse)).toEqual(expect.arrayContaining(result));
70
- });
71
- it('should return empty array for null correctResponse', () => {
72
- const correctResponse = null;
73
- const result = [];
74
- expect((0, _index.addWeightToCorrectResponse)(correctResponse)).toEqual(expect.arrayContaining(result));
75
- });
76
- });
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5kZXgiLCJyZXF1aXJlIiwiamVzdCIsIm1vY2siLCJGZWVkYmFja0NvbmZpZyIsInByb3BzIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiRm9ybVNlY3Rpb24iLCJJbnB1dENvbnRhaW5lciIsImxheW91dCIsIkNvbmZpZ0xheW91dCIsImNoaWxkcmVuIiwic2V0dGluZ3MiLCJQYW5lbCIsIm9uQ2hhbmdlIiwidG9nZ2xlIiwiZm4iLCJyYWRpbyIsImRlc2NyaWJlIiwiaXQiLCJjb3JyZWN0UmVzcG9uc2UiLCJyZXN1bHQiLCJpZCIsIndlaWdodCIsImV4cGVjdCIsImFkZFdlaWdodFRvQ29ycmVjdFJlc3BvbnNlIiwidG9FcXVhbCIsImFycmF5Q29udGFpbmluZyIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkV2VpZ2h0VG9Db3JyZWN0UmVzcG9uc2UgfSBmcm9tICcuLi9pbmRleCc7XG5cbmplc3QubW9jaygnQHBpZS1saWIvY29uZmlnLXVpJywgKCkgPT4gKHtcbiAgRmVlZGJhY2tDb25maWc6IChwcm9wcykgPT4gPGRpdiAvPixcbiAgRm9ybVNlY3Rpb246IChwcm9wcykgPT4gPGRpdiAvPixcbiAgSW5wdXRDb250YWluZXI6IChwcm9wcykgPT4gPGRpdiAvPixcbiAgbGF5b3V0OiB7XG4gICAgQ29uZmlnTGF5b3V0OiAocHJvcHMpID0+IDxkaXY+e3Byb3BzLmNoaWxkcmVufTwvZGl2PixcbiAgfSxcbiAgc2V0dGluZ3M6IHtcbiAgICBQYW5lbDogKHByb3BzKSA9PiA8ZGl2IG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX0gLz4sXG4gICAgdG9nZ2xlOiBqZXN0LmZuKCksXG4gICAgcmFkaW86IGplc3QuZm4oKSxcbiAgfSxcbn0pKTtcblxuZGVzY3JpYmUoJ2FkZFdlaWdodFRvQ29ycmVjdFJlc3BvbnNlJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIHJldHVybiBhbiBhcnJheSBvZiBvYmplY3RzIHsgaWQsIHdlaWdodH0gaWYgY29ycmVjdFJlc3BvbnNlIGlzIGFuIGFycmF5IG9mIHN0cmluZ3MnLCAoKSA9PiB7XG4gICAgY29uc3QgY29ycmVjdFJlc3BvbnNlID0gWydjMScsICdjMicsICdjMycsICdjNCddO1xuICAgIGNvbnN0IHJlc3VsdCA9IFtcbiAgICAgIHsgaWQ6ICdjMScsIHdlaWdodDogMCB9LFxuICAgICAgeyBpZDogJ2MyJywgd2VpZ2h0OiAwIH0sXG4gICAgICB7IGlkOiAnYzMnLCB3ZWlnaHQ6IDAgfSxcbiAgICAgIHsgaWQ6ICdjNCcsIHdlaWdodDogMCB9LFxuICAgIF07XG5cbiAgICBleHBlY3QoYWRkV2VpZ2h0VG9Db3JyZWN0UmVzcG9uc2UoY29ycmVjdFJlc3BvbnNlKSkudG9FcXVhbChleHBlY3QuYXJyYXlDb250YWluaW5nKHJlc3VsdCkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGtlZXAgdGhlIGFycmF5IG9mIG9iamVjdHMgeyBpZCwgd2VpZ2h0fSBpZiBjb3JyZWN0UmVzcG9uc2UgaXMgYW4gYXJyYXkgb2Ygb2JqZWN0cycsICgpID0+IHtcbiAgICBjb25zdCBjb3JyZWN0UmVzcG9uc2UgPSBbXG4gICAgICB7IGlkOiAnYzEnLCB3ZWlnaHQ6IDMgfSxcbiAgICAgIHsgaWQ6ICdjMicsIHdlaWdodDogMyB9LFxuICAgICAgeyBpZDogJ2MzJywgd2VpZ2h0OiAzIH0sXG4gICAgICB7IGlkOiAnYzQnLCB3ZWlnaHQ6IDMgfSxcbiAgICBdO1xuICAgIGNvbnN0IHJlc3VsdCA9IFtcbiAgICAgIHsgaWQ6ICdjMScsIHdlaWdodDogMyB9LFxuICAgICAgeyBpZDogJ2MyJywgd2VpZ2h0OiAzIH0sXG4gICAgICB7IGlkOiAnYzMnLCB3ZWlnaHQ6IDMgfSxcbiAgICAgIHsgaWQ6ICdjNCcsIHdlaWdodDogMyB9LFxuICAgIF07XG5cbiAgICBleHBlY3QoYWRkV2VpZ2h0VG9Db3JyZWN0UmVzcG9uc2UoY29ycmVjdFJlc3BvbnNlKSkudG9FcXVhbChleHBlY3QuYXJyYXlDb250YWluaW5nKHJlc3VsdCkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBlbXB0eSBhcnJheSBmb3IgdW5kZWZpbmVkIGNvcnJlY3RSZXNwb25zZScsICgpID0+IHtcbiAgICBjb25zdCBjb3JyZWN0UmVzcG9uc2UgPSB1bmRlZmluZWQ7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICBleHBlY3QoYWRkV2VpZ2h0VG9Db3JyZWN0UmVzcG9uc2UoY29ycmVjdFJlc3BvbnNlKSkudG9FcXVhbChleHBlY3QuYXJyYXlDb250YWluaW5nKHJlc3VsdCkpO1xuICB9KTtcbiAgaXQoJ3Nob3VsZCByZXR1cm4gZW1wdHkgYXJyYXkgZm9yIG51bGwgY29ycmVjdFJlc3BvbnNlJywgKCkgPT4ge1xuICAgIGNvbnN0IGNvcnJlY3RSZXNwb25zZSA9IG51bGw7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICBleHBlY3QoYWRkV2VpZ2h0VG9Db3JyZWN0UmVzcG9uc2UoY29ycmVjdFJlc3BvbnNlKSkudG9FcXVhbChleHBlY3QuYXJyYXlDb250YWluaW5nKHJlc3VsdCkpO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBQyxJQUFJLENBQUNDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxPQUFPO0VBQ3JDQyxjQUFjLEVBQUdDLEtBQUssaUJBQUtDLEtBQUEsQ0FBQUMsYUFBQSxZQUFNLENBQUM7RUFDbENDLFdBQVcsRUFBR0gsS0FBSyxpQkFBS0MsS0FBQSxDQUFBQyxhQUFBLFlBQU0sQ0FBQztFQUMvQkUsY0FBYyxFQUFHSixLQUFLLGlCQUFLQyxLQUFBLENBQUFDLGFBQUEsWUFBTSxDQUFDO0VBQ2xDRyxNQUFNLEVBQUU7SUFDTkMsWUFBWSxFQUFHTixLQUFLLGlCQUFLQyxLQUFBLENBQUFDLGFBQUEsY0FBTUYsS0FBSyxDQUFDTyxRQUFjO0VBQ3JELENB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