@pie-element/multiple-choice 8.2.0 → 8.2.1-beta.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.
- package/CHANGELOG.md +11 -0
- package/configure/CHANGELOG.md +11 -0
- package/configure/lib/__tests__/root.test.js +271 -0
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/index.js +1 -1
- package/configure/lib/main.js +1 -1
- package/configure/lib/utils.js +1 -1
- package/configure/package.json +2 -2
- package/controller/CHANGELOG.md +11 -0
- package/controller/lib/__tests__/index.test.js +864 -0
- package/controller/lib/__tests__/utils.test.js +8 -0
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/index.js +1 -1
- package/controller/lib/utils.js +1 -1
- package/controller/package.json +2 -2
- package/lib/__tests__/choice-input-test.js +124 -0
- package/lib/__tests__/index-test.js +22 -0
- package/lib/__tests__/multiple-choice-test.js +237 -0
- package/lib/__tests__/session-updater-test.js +72 -0
- package/lib/choice-input.js +1 -1
- package/lib/choice.js +1 -1
- package/lib/feedback-tick.js +1 -1
- package/lib/index.js +4 -1
- package/lib/main.js +1 -1
- package/lib/multiple-choice.js +1 -1
- package/lib/print.js +1 -1
- package/lib/session-updater.js +1 -1
- package/module/configure.js +1 -1
- package/module/element.js +5 -5
- package/module/index.html +1 -1
- package/module/manifest.json +1 -1
- package/module/print.html +1 -1
- package/module/print.js +5 -5
- package/package.json +4 -3
- package/LICENSE.md +0 -5
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
describe('utils', function () {
|
|
4
|
+
xit('todo', function () {
|
|
5
|
+
expect(true).toEqual(false);
|
|
6
|
+
});
|
|
7
|
+
});
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXRpbHMudGVzdC5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInhpdCIsImV4cGVjdCIsInRvRXF1YWwiXSwibWFwcGluZ3MiOiI7O0FBQUFBLFFBQVEsQ0FBQyxPQUFELEVBQVUsWUFBTTtBQUN0QkMsRUFBQUEsR0FBRyxDQUFDLE1BQUQsRUFBUyxZQUFNO0FBQ2hCQyxJQUFBQSxNQUFNLENBQUMsSUFBRCxDQUFOLENBQWFDLE9BQWIsQ0FBcUIsS0FBckI7QUFDRCxHQUZFLENBQUg7QUFHRCxDQUpPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJkZXNjcmliZSgndXRpbHMnLCAoKSA9PiB7XG4gIHhpdCgndG9kbycsICgpID0+IHtcbiAgICBleHBlY3QodHJ1ZSkudG9FcXVhbChmYWxzZSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -15,4 +15,4 @@ var _default = {
|
|
|
15
15
|
gridColumns: '2'
|
|
16
16
|
};
|
|
17
17
|
exports["default"] = _default;
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJwcm9tcHRFbmFibGVkIiwicmF0aW9uYWxlRW5hYmxlZCIsImFjY2Vzc2liaWxpdHlMYWJlbHNFbmFibGVkIiwidGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQiLCJzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZCIsImNob2ljZVByZWZpeCIsImNob2ljZXNMYXlvdXQiLCJncmlkQ29sdW1ucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2VBQWU7QUFDYkEsRUFBQUEsYUFBYSxFQUFFLElBREY7QUFFYkMsRUFBQUEsZ0JBQWdCLEVBQUUsSUFGTDtBQUdiQyxFQUFBQSwwQkFBMEIsRUFBRSxLQUhmO0FBSWJDLEVBQUFBLDBCQUEwQixFQUFFLElBSmY7QUFLYkMsRUFBQUEsMEJBQTBCLEVBQUUsSUFMZjtBQU1iQyxFQUFBQSxZQUFZLEVBQUUsU0FORDtBQU9iQyxFQUFBQSxhQUFhLEVBQUUsVUFQRjtBQVFiQyxFQUFBQSxXQUFXLEVBQUU7QUFSQSxDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBwcm9tcHRFbmFibGVkOiB0cnVlLFxuICByYXRpb25hbGVFbmFibGVkOiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5TGFiZWxzRW5hYmxlZDogZmFsc2UsXG4gIHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkOiB0cnVlLFxuICBzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgY2hvaWNlUHJlZml4OiAnbGV0dGVycycsXG4gIGNob2ljZXNMYXlvdXQ6ICd2ZXJ0aWNhbCcsXG4gIGdyaWRDb2x1bW5zOiAnMicsXG59O1xuIl19
|
package/controller/lib/index.js
CHANGED
|
@@ -303,4 +303,4 @@ var validate = function validate() {
|
|
|
303
303
|
};
|
|
304
304
|
|
|
305
305
|
exports.validate = validate;
|
|
306
|
-
//# sourceMappingURL=index.js.map
|
|
306
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJwcmVwYXJlQ2hvaWNlIiwibW9kZWwiLCJlbnYiLCJkZWZhdWx0RmVlZGJhY2siLCJjaG9pY2UiLCJyb2xlIiwibW9kZSIsIm91dCIsImxhYmVsIiwidmFsdWUiLCJhY2Nlc3NpYmlsaXR5TGFiZWxzRW5hYmxlZCIsImFjY2Vzc2liaWxpdHkiLCJ0ZXh0Q29udGVudCIsInJhdGlvbmFsZSIsInJhdGlvbmFsZUVuYWJsZWQiLCJjb3JyZWN0IiwiZmVlZGJhY2tFbmFibGVkIiwiZmVlZGJhY2tUeXBlIiwiZmVlZGJhY2siLCJ0eXBlIiwiY3JlYXRlRGVmYXVsdE1vZGVsIiwiUHJvbWlzZSIsInJlc29sdmUiLCJkZWZhdWx0cyIsIm5vcm1hbGl6ZSIsInF1ZXN0aW9uIiwidmVydGljYWxNb2RlIiwiY2hvaWNlc0xheW91dCIsInF1ZXN0aW9uUHJvcHMiLCJzZXNzaW9uIiwidXBkYXRlU2Vzc2lvbiIsIm5vcm1hbGl6ZWRRdWVzdGlvbiIsIk9iamVjdCIsImFzc2lnbiIsImluY29ycmVjdCIsImNob2ljZXMiLCJtYXAiLCJsb2NrQ2hvaWNlT3JkZXIiLCJkaXNhYmxlZCIsInByb21wdCIsInByb21wdEVuYWJsZWQiLCJncmlkQ29sdW1ucyIsImNob2ljZU1vZGUiLCJrZXlNb2RlIiwiY2hvaWNlUHJlZml4IiwicmVzcG9uc2VDb3JyZWN0IiwidW5kZWZpbmVkIiwibGFuZ3VhZ2UiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwidGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQiLCJnZXRTY29yZSIsImNvbmZpZyIsInNlbGVjdGVkQ2hvaWNlcyIsImNvcnJlY3RDaG9pY2VzIiwiZmlsdGVyIiwiY2giLCJzY29yZSIsInJlZHVjZSIsImFjYyIsInNlbGVjdGVkQ2hvaWNlIiwiZmluZCIsImxlbmd0aCIsInN0ciIsInBhcnNlRmxvYXQiLCJ0b0ZpeGVkIiwib3V0Y29tZSIsImVtcHR5IiwicGFydGlhbFNjb3JpbmdFbmFibGVkIiwicGFydGlhbFNjb3JpbmciLCJlbmFibGVkIiwiY3JlYXRlQ29ycmVjdFJlc3BvbnNlU2Vzc2lvbiIsImlkIiwiYyIsInZhbGlkYXRlIiwibWluQW5zd2VyQ2hvaWNlcyIsIm1heEFuc3dlckNob2ljZXMiLCJyZXZlcnNlZENob2ljZXMiLCJyZXZlcnNlIiwiY2hvaWNlc0Vycm9ycyIsImhhc0NvcnJlY3RSZXNwb25zZSIsImZvckVhY2giLCJpbmRleCIsImlkZW50aWNhbEFuc3dlciIsInNsaWNlIiwic29tZSIsImVycm9ycyIsIm5iT2ZDaG9pY2VzIiwiYW5zd2VyQ2hvaWNlc0Vycm9yIiwiY29ycmVjdFJlc3BvbnNlRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxJQUFNQSxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLEtBQUQsRUFBUUMsR0FBUixFQUFhQyxlQUFiO0FBQUEsU0FBaUMsVUFBQ0MsTUFBRCxFQUFZO0FBQ2pFLGVBQXVCRixHQUFHLElBQUksRUFBOUI7QUFBQSxRQUFRRyxJQUFSLFFBQVFBLElBQVI7QUFBQSxRQUFjQyxJQUFkLFFBQWNBLElBQWQ7O0FBQ0EsUUFBTUMsR0FBRyxHQUFHO0FBQ1ZDLE1BQUFBLEtBQUssRUFBRUosTUFBTSxDQUFDSSxLQURKO0FBRVZDLE1BQUFBLEtBQUssRUFBRUwsTUFBTSxDQUFDSztBQUZKLEtBQVo7O0FBS0EsUUFBSVIsS0FBSyxDQUFDUywwQkFBVixFQUFzQztBQUNwQ0gsTUFBQUEsR0FBRyxDQUFDSSxhQUFKLEdBQW9CLHNCQUFVUCxNQUFNLENBQUNPLGFBQWpCLEVBQWdDQyxXQUFoQyxJQUErQ1IsTUFBTSxDQUFDSyxLQUExRTtBQUNEOztBQUVELFFBQUlKLElBQUksS0FBSyxZQUFULEtBQTBCQyxJQUFJLEtBQUssTUFBVCxJQUFtQkEsSUFBSSxLQUFLLFVBQXRELENBQUosRUFBdUU7QUFDckVDLE1BQUFBLEdBQUcsQ0FBQ00sU0FB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LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IHsgaXNSZXNwb25zZUNvcnJlY3QsIHBhcnNlSFRNTCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IGRlZmF1bHRzIGZyb20gJy4vZGVmYXVsdHMnO1xuaW1wb3J0IHsgbG9ja0Nob2ljZXMsIHBhcnRpYWxTY29yaW5nLCBnZXRTaHVmZmxlZENob2ljZXMgfSBmcm9tICdAcGllLWxpYi9waWUtdG9vbGJveC9jb250cm9sbGVyLXV0aWxzJztcblxuY29uc3QgcHJlcGFyZUNob2ljZSA9IChtb2RlbCwgZW52LCBkZWZhdWx0RmVlZGJhY2spID0+IChjaG9pY2UpID0+IHtcbiAgY29uc3QgeyByb2xlLCBtb2RlIH0gPSBlbnYgfHwge307XG4gIGNvbnN0IG91dCA9IHtcbiAgICBsYWJlbDogY2hvaWNlLmxhYmVsLFxuICAgIHZhbHVlOiBjaG9pY2UudmFsdWUsXG4gIH07XG5cbiAgaWYgKG1vZGVsLmFjY2Vzc2liaWxpdHlMYWJlbHNFbmFibGVkKSB7XG4gICAgb3V0LmFjY2Vzc2liaWxpdHkgPSBwYXJzZUhUTUwoY2hvaWNlLmFjY2Vzc2liaWxpdHkpLnRleHRDb250ZW50IHx8IGNob2ljZS52YWx1ZTtcbiAgfVxuXG4gIGlmIChyb2xlID09PSAnaW5zdHJ1Y3RvcicgJiYgKG1vZGUgPT09ICd2aWV3JyB8fCBtb2RlID09PSAnZXZhbHVhdGUnKSkge1xuICAgIG91dC5yYXRpb25hbGUgPSBtb2RlbC5yYXRpb25hbGVFbmFibGVkID8gY2hvaWNlLnJhdGlvbmFsZSA6IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgb3V0LnJhdGlvbmFsZSA9IG51bGw7XG4gIH1cblxuICBpZiAobW9kZSA9PT0gJ2V2YWx1YXRlJykge1xuICAgIG91dC5jb3JyZWN0ID0gISFjaG9pY2UuY29ycmVjdDtcblxuICAgIGlmIChtb2RlbC5mZWVkYmFja0VuYWJsZWQpIHtcbiAgICAgIGNvbnN0IGZlZWRiYWNrVHlwZSA9IChjaG9pY2UuZmVlZGJhY2sgJiYgY2hvaWNlLmZlZWRiYWNrLnR5cGUpIHx8ICdub25lJztcblxuICAgICAgaWYgKGZlZWRiYWNrVHlwZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgIG91dC5mZWVkYmFjayA9IGRlZmF1bHRGZWVkYmFja1tjaG9pY2UuY29ycmVjdCA/ICdjb3JyZWN0JyA6ICdpbmNvcnJlY3QnXTtcbiAgICAgIH0gZWxzZSBpZiAoZmVlZGJhY2tUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgICBvdXQuZmVlZGJhY2sgPSBjaG9pY2UuZmVlZGJhY2sudmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEZWZhdWx0TW9kZWwobW9kZWwgPSB7fSkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHJlc29sdmUoeyAuLi5kZWZhdWx0cywgLi4ubW9kZWwgfSkpO1xufVxuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplID0gKHF1ZXN0aW9uKSA9PiB7XG4gIGNvbnN0IHsgdmVydGljYWxNb2RlLCBjaG9pY2VzTGF5b3V0LCAuLi5xdWVzdGlvblByb3BzIH0gPSBxdWVzdGlvbiB8fCB7fTtcblxuICByZXR1cm4ge1xuICAgIC4uLmRlZmF1bHRzLFxuICAgIC4uLnF1ZXN0aW9uUHJvcHMsXG4gICAgLy8gVGhpcyBpcyB1c2VkIGZvciBvZmZlcmluZyBzdXBwb3J0IGZvciBvbGQgbW9kZWxzIHdoaWNoIGhhdmUgdGhlIHByb3BlcnR5IHZlcnRpY2FsTW9kZVxuICAgIC8vIFNhbWUgdGhpbmcgaXMgc2V0IGluIGF1dGhvcmluZyA6IHBhY2thZ2VzL211bHRpcGxlLWNob2ljZS9jb25maWd1cmUvc3JjL2luZGV4LmpzeCAtIGNyZWF0ZURlZmF1bHRNb2RlbFxuICAgIGNob2ljZXNMYXlvdXQ6IGNob2ljZXNMYXlvdXQgfHwgKHZlcnRpY2FsTW9kZSA9PT0gZmFsc2UgJiYgJ2hvcml6b250YWwnKSB8fCBkZWZhdWx0cy5jaG9pY2VzTGF5b3V0LFxuICB9O1xufTtcblxuLyoqXG4gKlxuICogQHBhcmFtIHsqfSBxdWVzdGlvblxuICogQHBhcmFtIHsqfSBzZXNzaW9uXG4gKiBAcGFyYW0geyp9IGVudlxuICogQHBhcmFtIHsqfSB1cGRhdGVTZXNzaW9uIC0gb3B0aW9uYWwgLSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBzZXQgdGhlIHByb3BlcnRpZXMgcGFzc2VkIGludG8gaXQgb24gdGhlIHNlc3Npb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtb2RlbChxdWVzdGlvbiwgc2Vzc2lvbiwgZW52LCB1cGRhdGVTZXNzaW9uKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRRdWVzdGlvbiA9IG5vcm1hbGl6ZShxdWVzdGlvbik7XG5cbiAgY29uc3QgZGVmYXVsdEZlZWRiYWNrID0gT2JqZWN0LmFzc2lnbihcbiAgICB7IGNvcnJlY3Q6ICdDb3JyZWN0JywgaW5jb3JyZWN0OiAnSW5jb3JyZWN0JyB9LFxuICAgIG5vcm1hbGl6ZWRRdWVzdGlvbi5kZWZhdWx0RmVlZGJhY2ssXG4gICk7XG5cbiAgbGV0IGNob2ljZXMgPSAobm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZXMgfHwgW10pLm1hcChwcmVwYXJlQ2hvaWNlKG5vcm1hbGl6ZWRRdWVzdGlvbiwgZW52LCBkZWZhdWx0RmVlZGJhY2spKTtcblxuICBjb25zdCBsb2NrQ2hvaWNlT3JkZXIgPSBsb2NrQ2hvaWNlcyhub3JtYWxpemVkUXVlc3Rpb24sIHNlc3Npb24sIGVudik7XG5cbiAgaWYgKCFsb2NrQ2hvaWNlT3JkZXIpIHtcbiAgICBjaG9pY2VzID0gYXdhaXQgZ2V0U2h1ZmZsZWRDaG9pY2VzKGNob2ljZXMsIHNlc3Npb24sIHVwZGF0ZVNlc3Npb24sICd2YWx1ZScpO1xuICB9XG5cbiAgY29uc3Qgb3V0ID0ge1xuICAgIGRpc2FibGVkOiBlbnYubW9kZSAhPT0gJ2dhdGhlcicsXG4gICAgbW9kZTogZW52Lm1vZGUsXG4gICAgcHJvbXB0OiBub3JtYWxpemVkUXVlc3Rpb24ucHJvbXB0RW5hYmxlZCA/IG5vcm1hbGl6ZWRRdWVzdGlvbi5wcm9tcHQgOiBudWxsLFxuICAgIGNob2ljZXNMYXlvdXQ6IG5vcm1hbGl6ZWRRdWVzdGlvbi5jaG9pY2VzTGF5b3V0LFxuICAgIGdyaWRDb2x1bW5zOiBub3JtYWxpemVkUXVlc3Rpb24uZ3JpZENvbHVtbnMsXG4gICAgY2hvaWNlTW9kZTogbm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZU1vZGUsXG4gICAga2V5TW9kZTogbm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZVByZWZpeCxcbiAgICBjaG9pY2VzLFxuICAgIHJlc3BvbnNlQ29ycmVjdDogZW52Lm1vZGUgPT09ICdldmFsdWF0ZScgPyBpc1Jlc3BvbnNlQ29ycmVjdChub3JtYWxpemVkUXVlc3Rpb24sIHNlc3Npb24pIDogdW5kZWZpbmVkLFxuICAgIGxhbmd1YWdlOiBub3JtYWxpemVkUXVlc3Rpb24ubGFuZ3VhZ2UsXG4gIH07XG5cbiAgY29uc3QgeyByb2xlLCBtb2RlIH0gPSBlbnYgfHwge307XG5cbiAgaWYgKHJvbGUgPT09ICdpbnN0cnVjdG9yJyAmJiAobW9kZSA9PT0gJ3ZpZXcnIHx8IG1vZGUgPT09ICdldmFsdWF0ZScpKSB7XG4gICAgb3V0LnRlYWNoZXJJbnN0cnVjdGlvbnMgPSBub3JtYWxpemVkUXVlc3Rpb24udGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWRcbiAgICAgID8gbm9ybWFsaXplZFF1ZXN0aW9uLnRlYWNoZXJJbnN0cnVjdGlvbnNcbiAgICAgIDogbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBvdXQudGVhY2hlckluc3RydWN0aW9ucyA9IG51bGw7XG4gIH1cblxuICByZXR1cm4gb3V0O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0U2NvcmUgPSAoY29uZmlnLCBzZXNzaW9uKSA9PiB7XG4gIGlmICghc2Vzc2lvbiB8fCBpc0VtcHR5KHNlc3Npb24pKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBjb25zdCBzZWxlY3RlZENob2ljZXMgPSBzZXNzaW9uLnZhbHVlIHx8IFtdO1xuICBjb25zdCBjb3JyZWN0Q2hvaWNlcyA9IChjb25maWcuY2hvaWNlcyB8fCBbXSkuZmlsdGVyKChjaCkgPT4gY2guY29ycmVjdCk7XG5cbiAgbGV0IHNjb3JlID0gc2VsZWN0ZWRDaG9pY2VzLnJlZHVjZShcbiAgICAoYWNjLCBzZWxlY3RlZENob2ljZSkgPT4gYWNjICsgKGNvcnJlY3RDaG9pY2VzLmZpbmQoKGNoKSA9PiBjaC52YWx1ZSA9PT0gc2VsZWN0ZWRDaG9pY2UpID8gMSA6IDApLFxuICAgIDAsXG4gICk7XG5cbiAgaWYgKGNvcnJlY3RDaG9pY2VzLmxlbmd0aCA8IHNlbGVjdGVkQ2hvaWNlcy5sZW5ndGgpIHtcbiAgICBzY29yZSAtPSBzZWxlY3RlZENob2ljZXMubGVuZ3RoIC0gY29ycmVjdENob2ljZXMubGVuZ3RoO1xuXG4gICAgaWYgKHNjb3JlIDwgMCkge1xuICAgICAgc2NvcmUgPSAwO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHN0ciA9IGNvcnJlY3RDaG9pY2VzLmxlbmd0aCA/IHNjb3JlIC8gY29ycmVjdENob2ljZXMubGVuZ3RoIDogMDtcblxuICByZXR1cm4gcGFyc2VGbG9hdChzdHIudG9GaXhlZCgyKSk7XG59O1xuXG4vKipcbiAqXG4gKiBUaGUgc2NvcmUgaXMgcGFydGlhbCBieSBkZWZhdWx0IGZvciBjaGVja2JveCBtb2RlLCBhbGxPck5vdGhpbmcgZm9yIHJhZGlvIG1vZGUuXG4gKiBUbyBkaXNhYmxlIHBhcnRpYWwgc2NvcmluZyBmb3IgY2hlY2tib3ggbW9kZSB5b3UgZWl0aGVyIHNldCBtb2RlbC5wYXJ0aWFsU2NvcmluZyA9IGZhbHNlIG9yIGVudi5wYXJ0aWFsU2NvcmluZyA9IGZhbHNlLiB0aGUgdmFsdWUgaW4gYGVudmAgd2lsbFxuICogb3ZlcnJpZGUgdGhlIHZhbHVlIGluIGBtb2RlbGAuXG4gKiBAcGFyYW0ge09iamVjdH0gbW9kZWwgLSB0aGUgbWFpbiBtb2RlbFxuICogQHBhcmFtIHsqfSBzZXNzaW9uXG4gKiBAcGFyYW0ge09iamVjdH0gZW52XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvdXRjb21lKG1vZGVsLCBzZXNzaW9uLCBlbnYpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgaWYgKCFzZXNzaW9uIHx8IGlzRW1wdHkoc2Vzc2lvbikpIHtcbiAgICAgIHJlc29sdmUoeyBzY29yZTogMCwgZW1wdHk6IHRydWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHBhcnRpYWxTY29yaW5nRW5hYmxlZCA9IHBhcnRpYWxTY29yaW5nLmVuYWJsZWQobW9kZWwsIGVudikgJiYgbW9kZWwuY2hvaWNlTW9kZSAhPT0gJ3JhZGlvJztcbiAgICAgIGNvbnN0IHNjb3JlID0gZ2V0U2NvcmUobW9kZWwsIHNlc3Npb24pO1xuXG4gICAgICByZXNvbHZlKHsgc2NvcmU6IHBhcnRpYWxTY29yaW5nRW5hYmxlZCA/IHNjb3JlIDogc2NvcmUgPT09IDEgPyAxIDogMCwgZW1wdHk6IGZhbHNlIH0pO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb3JyZWN0UmVzcG9uc2VTZXNzaW9uID0gKHF1ZXN0aW9uLCBlbnYpID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgaWYgKGVudi5tb2RlICE9PSAnZXZhbHVhdGUnICYmIGVudi5yb2xlID09PSAnaW5zdHJ1Y3RvcicpIHtcbiAgICAgIGNvbnN0IHsgY2hvaWNlcyB9ID0gcXVlc3Rpb24gfHwgeyBjaG9pY2VzOiBbXSB9O1xuXG4gICAgICByZXNvbHZlKHtcbiAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgdmFsdWU6IGNob2ljZXMuZmlsdGVyKChjKSA9PiBjLmNvcnJlY3QpLm1hcCgoYykgPT4gYy52YWx1ZSksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlID0gKG1vZGVsID0ge30sIGNvbmZpZyA9IHt9KSA9PiB7XG4gIGNvbnN0IHsgY2hvaWNlcyB9ID0gbW9kZWw7XG4gIGNvbnN0IHsgbWluQW5zd2VyQ2hvaWNlcyA9IDIsIG1heEFuc3dlckNob2ljZXMgfSA9IGNvbmZpZztcbiAgY29uc3QgcmV2ZXJzZWRDaG9pY2VzID0gWy4uLihjaG9pY2VzIHx8IFtdKV0ucmV2ZXJzZSgpO1xuICBjb25zdCBjaG9pY2VzRXJyb3JzID0ge307XG4gIGxldCBoYXNDb3JyZWN0UmVzcG9uc2UgPSBmYWxzZTtcblxuICByZXZlcnNlZENob2ljZXMuZm9yRWFjaCgoY2hvaWNlLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHsgY29ycmVjdCwgdmFsdWUsIGxhYmVsIH0gPSBjaG9pY2U7XG5cbiAgICBpZiAoY29ycmVjdCkge1xuICAgICAgaGFzQ29ycmVjdFJlc3BvbnNlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobGFiZWwgPT09ICcnIHx8IGxhYmVsID09PSAnPGRpdj48L2Rpdj4nKSB7XG4gICAgICBjaG9pY2VzRXJyb3JzW3ZhbHVlXSA9ICdDb250ZW50IHNob3VsZCBub3QgYmUgZW1wdHkuJztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaWRlbnRpY2FsQW5zd2VyID0gcmV2ZXJzZWRDaG9pY2VzLnNsaWNlKGluZGV4ICsgMSkuc29tZSgoYykgPT4gYy5sYWJlbCA9PT0gbGFiZWwpO1xuXG4gICAgICBpZiAoaWRlbnRpY2FsQW5zd2VyKSB7XG4gICAgICAgIGNob2ljZXNFcnJvcnNbdmFsdWVdID0gJ0NvbnRlbnQgc2hvdWxkIGJlIHVuaXF1ZS4nO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgZXJyb3JzID0ge307XG4gIGNvbnN0IG5iT2ZDaG9pY2VzID0gKGNob2ljZXMgfHwgW10pLmxlbmd0aDtcblxuICBpZiAobmJPZkNob2ljZXMgPCBtaW5BbnN3ZXJDaG9pY2VzKSB7XG4gICAgZXJyb3JzLmFuc3dlckNob2ljZXNFcnJvciA9IGBUaGVyZSBzaG91bGQgYmUgYXQgbGVhc3QgJHttaW5BbnN3ZXJDaG9pY2VzfSBjaG9pY2VzIGRlZmluZWQuYDtcbiAgfSBlbHNlIGlmIChuYk9mQ2hvaWNlcyA+IG1heEFuc3dlckNob2ljZXMpIHtcbiAgICBlcnJvcnMuYW5zd2VyQ2hvaWNlc0Vycm9yID0gYE5vIG1vcmUgdGhhbiAke21heEFuc3dlckNob2ljZXN9IGNob2ljZXMgc2hvdWxkIGJlIGRlZmluZWQuYDtcbiAgfVxuXG4gIGlmICghaGFzQ29ycmVjdFJlc3BvbnNlKSB7XG4gICAgZXJyb3JzLmNvcnJlY3RSZXNwb25zZUVycm9yID0gJ05vIGNvcnJlY3QgcmVzcG9uc2UgZGVmaW5lZC4nO1xuICB9XG5cbiAgaWYgKCFpc0VtcHR5KGNob2ljZXNFcnJvcnMpKSB7XG4gICAgZXJyb3JzLmNob2ljZXNFcnJvcnMgPSBjaG9pY2VzRXJyb3JzO1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn07XG4iXX0=
|
package/controller/lib/utils.js
CHANGED
|
@@ -33,4 +33,4 @@ var parseHTML = function parseHTML(html) {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
exports.parseHTML = parseHTML;
|
|
36
|
-
//# sourceMappingURL=
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJnZXRDb3JyZWN0UmVzcG9uc2UiLCJjaG9pY2VzIiwiZmlsdGVyIiwiYyIsImNvcnJlY3QiLCJtYXAiLCJ2YWx1ZSIsInNvcnQiLCJpc1Jlc3BvbnNlQ29ycmVjdCIsInF1ZXN0aW9uIiwic2Vzc2lvbiIsImNvcnJlY3RSZXNwb25zZSIsInBhcnNlSFRNTCIsImh0bWwiLCJ0ZW1wbGF0ZSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsImNvbnRlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVPLElBQU1BLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FBQ0MsT0FBRDtBQUFBLFNBQ2hDQSxPQUFPLENBQ0pDLE1BREgsQ0FDVSxVQUFDQyxDQUFEO0FBQUEsV0FBT0EsQ0FBQyxDQUFDQyxPQUFUO0FBQUEsR0FEVixFQUVHQyxHQUZILENBRU8sVUFBQ0YsQ0FBRDtBQUFBLFdBQU9BLENBQUMsQ0FBQ0csS0FBVDtBQUFBLEdBRlAsRUFHR0MsSUFISCxFQURnQztBQUFBLENBQTNCOzs7O0FBTUEsSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixDQUFDQyxRQUFELEVBQVdDLE9BQVgsRUFBdUI7QUFDdEQsTUFBSUMsZUFBZSxHQUFHWCxrQkFBa0IsQ0FBQ1MsUUFBUSxDQUFDUixPQUFWLENBQXhDO0FBQ0EsU0FBT1MsT0FBTyxJQUFJLHlCQUFRLENBQUNBLE9BQU8sQ0FBQ0osS0FBUixJQUFpQixFQUFsQixFQUFzQkMsSUFBdEIsRUFBUixFQUFzQ0ksZUFBdEMsQ0FBbEI7QUFDRCxDQUhNOzs7O0FBS0EsSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVksQ0FBQ0MsSUFBRCxFQUFVO0FBQ2pDLE1BQU1DLFFBQVEsR0FBR0MsUUFBUSxDQUFDQyxhQUFULENBQXVCLFVBQXZCLENBQWpCO0FBQ0FGLEVBQUFBLFFBQVEsQ0FBQ0csU0FBVCxHQUFxQkosSUFBckI7QUFDQSxTQUFPQyxRQUFRLENBQUNJLE9BQWhCO0FBQ0QsQ0FKTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcblxuZXhwb3J0IGNvbnN0IGdldENvcnJlY3RSZXNwb25zZSA9IChjaG9pY2VzKSA9PlxuICBjaG9pY2VzXG4gICAgLmZpbHRlcigoYykgPT4gYy5jb3JyZWN0KVxuICAgIC5tYXAoKGMpID0+IGMudmFsdWUpXG4gICAgLnNvcnQoKTtcblxuZXhwb3J0IGNvbnN0IGlzUmVzcG9uc2VDb3JyZWN0ID0gKHF1ZXN0aW9uLCBzZXNzaW9uKSA9PiB7XG4gIGxldCBjb3JyZWN0UmVzcG9uc2UgPSBnZXRDb3JyZWN0UmVzcG9uc2UocXVlc3Rpb24uY2hvaWNlcyk7XG4gIHJldHVybiBzZXNzaW9uICYmIGlzRXF1YWwoKHNlc3Npb24udmFsdWUgfHwgW10pLnNvcnQoKSwgY29ycmVjdFJlc3BvbnNlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUhUTUwgPSAoaHRtbCkgPT4ge1xuICBjb25zdCB0ZW1wbGF0ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RlbXBsYXRlJyk7XG4gIHRlbXBsYXRlLmlubmVySFRNTCA9IGh0bWw7XG4gIHJldHVybiB0ZW1wbGF0ZS5jb250ZW50O1xufTtcbiJdfQ==
|
package/controller/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/multiple-choice-controller",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "4.1.
|
|
4
|
+
"version": "4.1.4",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "src/index.js",
|
|
8
8
|
"author": "",
|
|
9
9
|
"license": "ISC",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@pie-lib/pie-toolbox": "1.
|
|
11
|
+
"@pie-lib/pie-toolbox": "1.5.2",
|
|
12
12
|
"debug": "^3.1.0",
|
|
13
13
|
"lodash": "^4.17.15"
|
|
14
14
|
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
6
|
+
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
|
|
9
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
10
|
+
|
|
11
|
+
var _enzyme = require("enzyme");
|
|
12
|
+
|
|
13
|
+
var _choiceInput = require("../choice-input");
|
|
14
|
+
|
|
15
|
+
var _enzymeToJson = _interopRequireDefault(require("enzyme-to-json"));
|
|
16
|
+
|
|
17
|
+
describe('ChoiceInput', function () {
|
|
18
|
+
var onChange, wrapper;
|
|
19
|
+
|
|
20
|
+
var mkWrapper = function mkWrapper() {
|
|
21
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
22
|
+
opts = _lodash["default"].extend({
|
|
23
|
+
checked: false,
|
|
24
|
+
disabled: false,
|
|
25
|
+
choiceMode: 'checkbox',
|
|
26
|
+
label: 'label',
|
|
27
|
+
displayKey: '1',
|
|
28
|
+
correctness: 'correct',
|
|
29
|
+
value: 'value',
|
|
30
|
+
classes: {
|
|
31
|
+
label: 'label'
|
|
32
|
+
}
|
|
33
|
+
}, opts);
|
|
34
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_choiceInput.ChoiceInput, (0, _extends2["default"])({}, opts, {
|
|
35
|
+
onChange: onChange
|
|
36
|
+
})));
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
beforeEach(function () {
|
|
40
|
+
onChange = jest.fn();
|
|
41
|
+
wrapper = mkWrapper();
|
|
42
|
+
});
|
|
43
|
+
describe('snapshots', function () {
|
|
44
|
+
describe('radio', function () {
|
|
45
|
+
it('renders', function () {
|
|
46
|
+
var wrapper = mkWrapper({
|
|
47
|
+
choiceMode: 'radio'
|
|
48
|
+
});
|
|
49
|
+
expect((0, _enzymeToJson["default"])(wrapper)).toMatchSnapshot();
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe('checkbox', function () {
|
|
53
|
+
it('renders', function () {
|
|
54
|
+
var wrapper = mkWrapper({
|
|
55
|
+
choiceMode: 'checkbox'
|
|
56
|
+
});
|
|
57
|
+
expect((0, _enzymeToJson["default"])(wrapper)).toMatchSnapshot();
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
describe('radio with incorrect', function () {
|
|
61
|
+
it('renders', function () {
|
|
62
|
+
var wrapper = mkWrapper({
|
|
63
|
+
choiceMode: 'radio',
|
|
64
|
+
correctness: 'incorrect'
|
|
65
|
+
});
|
|
66
|
+
expect((0, _enzymeToJson["default"])(wrapper)).toMatchSnapshot();
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
describe('rationale', function () {
|
|
70
|
+
it('does not render', function () {
|
|
71
|
+
var wrapper = mkWrapper();
|
|
72
|
+
expect((0, _enzymeToJson["default"])(wrapper)).toMatchSnapshot();
|
|
73
|
+
});
|
|
74
|
+
it('renders', function () {
|
|
75
|
+
var wrapper = mkWrapper({
|
|
76
|
+
rationale: 'This is rationale'
|
|
77
|
+
});
|
|
78
|
+
expect((0, _enzymeToJson["default"])(wrapper)).toMatchSnapshot();
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
describe('onToggleChoice', function () {
|
|
83
|
+
it('calls handler', function () {
|
|
84
|
+
wrapper.instance().onToggleChoice({
|
|
85
|
+
target: {
|
|
86
|
+
checked: true
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
expect(onChange).toBeCalledWith({
|
|
90
|
+
value: 'value',
|
|
91
|
+
selected: true
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
/** we're mocking preview prompt - so this won't pass */
|
|
96
|
+
|
|
97
|
+
describe.skip('clicking on choice text triggers toggle choice', function () {
|
|
98
|
+
it('calls handler', function () {
|
|
99
|
+
var onChange = jest.fn();
|
|
100
|
+
var props = {
|
|
101
|
+
checked: false,
|
|
102
|
+
disabled: false,
|
|
103
|
+
choiceMode: 'checkbox',
|
|
104
|
+
label: 'label',
|
|
105
|
+
displayKey: '1',
|
|
106
|
+
correctness: 'correct',
|
|
107
|
+
value: 'value',
|
|
108
|
+
classes: {
|
|
109
|
+
label: 'label'
|
|
110
|
+
},
|
|
111
|
+
onChange: onChange
|
|
112
|
+
};
|
|
113
|
+
console.log(_choiceInput.ChoiceInput);
|
|
114
|
+
var item = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_choiceInput.ChoiceInput, props));
|
|
115
|
+
var label = item.find('.label');
|
|
116
|
+
label.simulate('click');
|
|
117
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
118
|
+
value: 'value',
|
|
119
|
+
selected: true
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vY2hvaWNlLWlucHV0LXRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwib25DaGFuZ2UiLCJ3cmFwcGVyIiwibWtXcmFwcGVyIiwib3B0cyIsIl8iLCJleHRlbmQiLCJjaGVja2VkIiwiZGlzYWJsZWQiLCJjaG9pY2VNb2RlIiwibGFiZWwiLCJkaXNwbGF5S2V5IiwiY29ycmVjdG5lc3MiLCJ2YWx1ZSIsImNsYXNzZXMiLCJiZWZvcmVFYWNoIiwiamVzdCIsImZuIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJyYXRpb25hbGUiLCJpbnN0YW5jZSIsIm9uVG9nZ2xlQ2hvaWNlIiwidGFyZ2V0IiwidG9CZUNhbGxlZFdpdGgiLCJzZWxlY3RlZCIsInNraXAiLCJwcm9wcyIsImNvbnNvbGUiLCJsb2ciLCJDaG9pY2VJbnB1dCIsIml0ZW0iLCJmaW5kIiwic2ltdWxhdGUiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUFBLFFBQVEsQ0FBQyxhQUFELEVBQWdCLFlBQU07QUFDNUIsTUFBSUMsUUFBSixFQUFjQyxPQUFkOztBQUVBLE1BQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZLEdBQWU7QUFBQSxRQUFkQyxJQUFjLHVFQUFQLEVBQU87QUFDL0JBLElBQUFBLElBQUksR0FBR0MsbUJBQUVDLE1BQUYsQ0FDTDtBQUNFQyxNQUFBQSxPQUFPLEVBQUUsS0FEWDtBQUVFQyxNQUFBQSxRQUFRLEVBQUUsS0FGWjtBQUdFQyxNQUFBQSxVQUFVLEVBQUUsVUFIZDtBQUlFQyxNQUFBQSxLQUFLLEVBQUUsT0FKVDtBQUtFQyxNQUFBQSxVQUFVLEVBQUUsR0FMZDtBQU1FQyxNQUFBQSxXQUFXLEVBQUUsU0FOZjtBQU9FQyxNQUFBQSxLQUFLLEVBQUUsT0FQVDtBQVFFQyxNQUFBQSxPQUFPLEVBQUU7QUFDUEosUUFBQUEsS0FBSyxF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QUFDMkIsSUFBVCxDQUFjLGdEQUFkLEVBQWdFLFlBQU07QUFDcEVULElBQUFBLEVBQUUsQ0FBQyxlQUFELEVBQWtCLFlBQU07QUFDeEIsVUFBTWpCLFFBQVEsR0FBR2UsSUFBSSxDQUFDQyxFQUFMLEVBQWpCO0FBQ0EsVUFBTVcsS0FBSyxHQUFHO0FBQ1pyQixRQUFBQSxPQUFPLEVBQUUsS0FERztBQUVaQyxRQUFBQSxRQUFRLEVBQUUsS0FGRTtBQUdaQyxRQUFBQSxVQUFVLEVBQUUsVUFIQTtBQUlaQyxRQUFBQSxLQUFLLEVBQUUsT0FKSztBQUtaQyxRQUFBQSxVQUFVLEVBQUUsR0FMQTtBQU1aQyxRQUFBQSxXQUFXLEVBQUUsU0FORDtBQU9aQyxRQUFBQSxLQUFLLEVBQUUsT0FQSztBQVFaQyxRQUFBQSxPQUFPLEVBQUU7QUFDUEosVUFBQUEsS0FBSyxFQUFFO0FBREEsU0FSRztBQVdaVCxRQUFBQSxRQUFRLEVBQVJBO0FBWFksT0FBZDtBQWNBNEIsTUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlDLHdCQUFaO0FBQ0EsVUFBTUMsSUFBSSxHQUFHLGlDQUFNLGdDQUFDLHdCQUFELEVBQWlCSixLQUFqQixDQUFOLENBQWI7QUFDQSxVQUFNbEIsS0FBSyxHQUFHc0IsSUFBSSxDQUFDQyxJQUFMLENBQVUsUUFBVixDQUFkO0FBRUF2QixNQUFBQSxLQUFLLENBQUN3QixRQUFOLENBQWUsT0FBZjtBQUVBZixNQUFBQSxNQUFNLENBQUNsQixRQUFELENBQU4sQ0FBaUJrQyxvQkFBakIsQ0FBc0M7QUFBRXRCLFFBQUFBLEtBQUssRUFBRSxPQUFUO0FBQWtCYSxRQUFBQSxRQUFRLEVBQUU7QUFBNUIsT0FBdEM7QUFDRCxLQXZCQyxDQUFGO0FBd0JELEdBekJEO0FBMEJELENBdkdPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHNoYWxsb3csIG1vdW50IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCB7IENob2ljZUlucHV0IH0gZnJvbSAnLi4vY2hvaWNlLWlucHV0JztcbmltcG9ydCB0b0pzb24gZnJvbSAnZW56eW1lLXRvLWpzb24nO1xuXG5kZXNjcmliZSgnQ2hvaWNlSW5wdXQnLCAoKSA9PiB7XG4gIGxldCBvbkNoYW5nZSwgd3JhcHBlcjtcblxuICBjb25zdCBta1dyYXBwZXIgPSAob3B0cyA9IHt9KSA9PiB7XG4gICAgb3B0cyA9IF8uZXh0ZW5kKFxuICAgICAge1xuICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICBjaG9pY2VNb2RlOiAnY2hlY2tib3gnLFxuICAgICAgICBsYWJlbDogJ2xhYmVsJyxcbiAgICAgICAgZGlzcGxheUtleTogJzEnLFxuICAgICAgICBjb3JyZWN0bmVzczogJ2NvcnJlY3QnLFxuICAgICAgICB2YWx1ZTogJ3ZhbHVlJyxcbiAgICAgICAgY2xhc3Nlczoge1xuICAgICAgICAgIGxhYmVsOiAnbGFiZWwnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9wdHMsXG4gICAgKTtcblxuICAgIHJldHVybiBzaGFsbG93KDxDaG9pY2VJbnB1dCB7Li4ub3B0c30gb25DaGFuZ2U9e29uQ2hhbmdlfSAvPik7XG4gIH07XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gICAgd3JhcHBlciA9IG1rV3JhcHBlcigpO1xuICB9KTtcblxuICBkZXNjcmliZSgnc25hcHNob3RzJywgKCkgPT4ge1xuICAgIGRlc2NyaWJlKCdyYWRpbycsICgpID0+IHtcbiAgICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gbWtXcmFwcGVyKHsgY2hvaWNlTW9kZTogJ3JhZGlvJyB9KTtcbiAgICAgICAgZXhwZWN0KHRvSnNvbih3cmFwcGVyKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdjaGVja2JveCcsICgpID0+IHtcbiAgICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gbWtXcmFwcGVyKHsgY2hvaWNlTW9kZTogJ2NoZWNrYm94JyB9KTtcbiAgICAgICAgZXhwZWN0KHRvSnNvbih3cmFwcGVyKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdyYWRpbyB3aXRoIGluY29ycmVjdCcsICgpID0+IHtcbiAgICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gbWtXcmFwcGVyKHtcbiAgICAgICAgICBjaG9pY2VNb2RlOiAncmFkaW8nLFxuICAgICAgICAgIGNvcnJlY3RuZXNzOiAnaW5jb3JyZWN0JyxcbiAgICAgICAgfSk7XG4gICAgICAgIGV4cGVjdCh0b0pzb24od3JhcHBlcikpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgncmF0aW9uYWxlJywgKCkgPT4ge1xuICAgICAgaXQoJ2RvZXMgbm90IHJlbmRlcicsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IG1rV3JhcHBlcigpO1xuICAgICAgICBleHBlY3QodG9Kc29uKHdyYXBwZXIpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IG1rV3JhcHBlcih7IHJhdGlvbmFsZTogJ1RoaXMgaXMgcmF0aW9uYWxlJyB9KTtcbiAgICAgICAgZXhwZWN0KHRvSnNvbih3cmFwcGVyKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ29uVG9nZ2xlQ2hvaWNlJywgKCkgPT4ge1xuICAgIGl0KCdjYWxscyBoYW5kbGVyJywgKCkgPT4ge1xuICAgICAgd3JhcHBlci5pbnN0YW5jZSgpLm9uVG9nZ2xlQ2hvaWNlKHsgdGFyZ2V0OiB7IGNoZWNrZWQ6IHRydWUgfSB9KTtcbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoe1xuICAgICAgICB2YWx1ZTogJ3ZhbHVlJyxcbiAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLyoqIHdlJ3JlIG1vY2tpbmcgcHJldmlldyBwcm9tcHQgLSBzbyB0aGlzIHdvbid0IHBhc3MgKi9cbiAgZGVzY3JpYmUuc2tpcCgnY2xpY2tpbmcgb24gY2hvaWNlIHRleHQgdHJpZ2dlcnMgdG9nZ2xlIGNob2ljZScsICgpID0+IHtcbiAgICBpdCgnY2FsbHMgaGFuZGxlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICAgICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgIGNob2ljZU1vZGU6ICdjaGVja2JveCcsXG4gICAgICAgIGxhYmVsOiAnbGFiZWwnLFxuICAgICAgICBkaXNwbGF5S2V5OiAnMScsXG4gICAgICAgIGNvcnJlY3RuZXNzOiAnY29ycmVjdCcsXG4gICAgICAgIHZhbHVlOiAndmFsdWUnLFxuICAgICAgICBjbGFzc2VzOiB7XG4gICAgICAgICAgbGFiZWw6ICdsYWJlbCcsXG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2hhbmdlLFxuICAgICAgfTtcblxuICAgICAgY29uc29sZS5sb2coQ2hvaWNlSW5wdXQpO1xuICAgICAgY29uc3QgaXRlbSA9IG1vdW50KDxDaG9pY2VJbnB1dCB7Li4ucHJvcHN9IC8+KTtcbiAgICAgIGNvbnN0IGxhYmVsID0gaXRlbS5maW5kKCcubGFiZWwnKTtcblxuICAgICAgbGFiZWwuc2ltdWxhdGUoJ2NsaWNrJyk7XG5cbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoeyB2YWx1ZTogJ3ZhbHVlJywgc2VsZWN0ZWQ6IHRydWUgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
6
|
+
|
|
7
|
+
var _index = require("../index");
|
|
8
|
+
|
|
9
|
+
var _templateObject;
|
|
10
|
+
|
|
11
|
+
describe('isComplete', function () {
|
|
12
|
+
it.each(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n session | expected\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n "])), {
|
|
13
|
+
value: [1, 2, 3]
|
|
14
|
+
}, true, {
|
|
15
|
+
value: []
|
|
16
|
+
}, false, {}, false, null, false, undefined, false)('session = $session is complete => $expected', function (_ref) {
|
|
17
|
+
var session = _ref.session,
|
|
18
|
+
expected = _ref.expected;
|
|
19
|
+
expect((0, _index.isComplete)(session)).toEqual(expected);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgtdGVzdC5qc3giXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJpdCIsImVhY2giLCJ2YWx1ZSIsInVuZGVmaW5lZCIsInNlc3Npb24iLCJleHBlY3RlZCIsImV4cGVjdCIsInRvRXF1YWwiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7O0FBRUFBLFFBQVEsQ0FBQyxZQUFELEVBQWUsWUFBTTtBQUMzQkMsRUFBQUEsRUFBRSxDQUFDQyxJQUFILDRRQUVJO0FBQUVDLElBQUFBLEtBQUssRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLEVBQU8sQ0FBUDtBQUFULEdBRkosRUFFOEIsSUFGOUIsRUFHSTtBQUFFQSxJQUFBQSxLQUFLLEVBQUU7QUFBVCxHQUhKLEVBRzhCLEtBSDlCLEVBSUksRUFKSixFQUk4QixLQUo5QixFQUtJLElBTEosRUFLOEIsS0FMOUIsRUFNSUMsU0FOSixFQU04QixLQU45QixFQU9FLDZDQVBGLEVBT2lELGdCQUEyQjtBQUFBLFFBQXhCQyxPQUF3QixRQUF4QkEsT0FBd0I7QUFBQSxRQUFmQyxRQUFlLFFBQWZBLFFBQWU7QUFDMUVDLElBQUFBLE1BQU0sQ0FBQyx1QkFBV0YsT0FBWCxDQUFELENBQU4sQ0FBNEJHLE9BQTVCLENBQW9DRixRQUFwQztBQUNELEdBVEQ7QUFVRCxDQVhPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0NvbXBsZXRlIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5kZXNjcmliZSgnaXNDb21wbGV0ZScsICgpID0+IHtcbiAgaXQuZWFjaGBcbiAgICBzZXNzaW9uICAgICAgICAgICAgICAgICB8IGV4cGVjdGVkXG4gICAgJHt7IHZhbHVlOiBbMSwgMiwgM10gfX0gfCAke3RydWV9XG4gICAgJHt7IHZhbHVlOiBbXSB9fSAgICAgICAgfCAke2ZhbHNlfVxuICAgICR7e319ICAgICAgICAgICAgICAgICAgIHwgJHtmYWxzZX1cbiAgICAke251bGx9ICAgICAgICAgICAgICAgICB8ICR7ZmFsc2V9XG4gICAgJHt1bmRlZmluZWR9ICAgICAgICAgICAgfCAke2ZhbHNlfVxuICBgKCdzZXNzaW9uID0gJHNlc3Npb24gaXMgY29tcGxldGUgPT4gJGV4cGVjdGVkJywgKHsgc2Vzc2lvbiwgZXhwZWN0ZWQgfSkgPT4ge1xuICAgIGV4cGVjdChpc0NvbXBsZXRlKHNlc3Npb24pKS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
+
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
|
|
9
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
10
|
+
|
|
11
|
+
var _enzyme = require("enzyme");
|
|
12
|
+
|
|
13
|
+
var _multipleChoice = require("../multiple-choice");
|
|
14
|
+
|
|
15
|
+
var _correctAnswerToggle = require("@pie-lib/pie-toolbox/correct-answer-toggle");
|
|
16
|
+
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
|
+
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
|
+
|
|
21
|
+
describe('Choice', function () {
|
|
22
|
+
var wrapper,
|
|
23
|
+
onChoiceChanged = jest.fn();
|
|
24
|
+
beforeEach(function () {
|
|
25
|
+
wrapper = function wrapper(extras) {
|
|
26
|
+
var props = _objectSpread({
|
|
27
|
+
classes: {},
|
|
28
|
+
choice: {},
|
|
29
|
+
index: 0,
|
|
30
|
+
choicesLength: 1,
|
|
31
|
+
showCorrect: false,
|
|
32
|
+
isEvaluateMode: false,
|
|
33
|
+
choiceMode: 'radio',
|
|
34
|
+
disabled: true,
|
|
35
|
+
onChoiceChanged: onChoiceChanged,
|
|
36
|
+
checked: true,
|
|
37
|
+
correctness: 'correct',
|
|
38
|
+
displayKey: '0',
|
|
39
|
+
choicesLayout: 'grid',
|
|
40
|
+
gridColumns: 2
|
|
41
|
+
}, extras);
|
|
42
|
+
|
|
43
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_multipleChoice.Choice, props));
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
describe('snapshot', function () {
|
|
47
|
+
it('renders', function () {
|
|
48
|
+
expect(wrapper()).toMatchSnapshot();
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
describe('logic', function () {
|
|
52
|
+
it('does not call onChoiceChanged if disabled is true', function () {
|
|
53
|
+
var w = wrapper();
|
|
54
|
+
w.instance().onChange();
|
|
55
|
+
expect(onChoiceChanged).not.toHaveBeenCalled();
|
|
56
|
+
});
|
|
57
|
+
it('calls onChoiceChanged if disabled is false', function () {
|
|
58
|
+
var w = wrapper({
|
|
59
|
+
disabled: false
|
|
60
|
+
});
|
|
61
|
+
w.instance().onChange();
|
|
62
|
+
expect(onChoiceChanged).toHaveBeenCalled();
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
describe('CorespringChoice', function () {
|
|
67
|
+
var wrapper, toggle;
|
|
68
|
+
beforeEach(function () {
|
|
69
|
+
toggle = function toggle() {
|
|
70
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, "mocked-toggle");
|
|
71
|
+
};
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
var mkWrapper = function mkWrapper(opts) {
|
|
75
|
+
var clone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
76
|
+
opts = clone ? opts = _lodash["default"].merge({
|
|
77
|
+
classes: {},
|
|
78
|
+
choices: [],
|
|
79
|
+
disabled: false,
|
|
80
|
+
keyMode: 'letters',
|
|
81
|
+
onChoiceChanged: jest.fn(),
|
|
82
|
+
mode: 'gather'
|
|
83
|
+
}, opts) : opts;
|
|
84
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_multipleChoice.MultipleChoice, opts));
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
describe('snapshot', function () {
|
|
88
|
+
it('renders', function () {
|
|
89
|
+
wrapper = mkWrapper({
|
|
90
|
+
choices: [{
|
|
91
|
+
value: 'a',
|
|
92
|
+
label: 'label a',
|
|
93
|
+
correct: true,
|
|
94
|
+
feedback: 'great'
|
|
95
|
+
}, {
|
|
96
|
+
value: 'b',
|
|
97
|
+
label: 'label b'
|
|
98
|
+
}, {
|
|
99
|
+
value: 'c',
|
|
100
|
+
label: 'label c',
|
|
101
|
+
correct: true,
|
|
102
|
+
feedback: 'great'
|
|
103
|
+
}]
|
|
104
|
+
});
|
|
105
|
+
expect(wrapper).toMatchSnapshot();
|
|
106
|
+
});
|
|
107
|
+
describe('renders incorrect tick if one answer is correct but it is not checked', function () {
|
|
108
|
+
it('renders', function () {
|
|
109
|
+
var w = mkWrapper({
|
|
110
|
+
mode: 'evaluate',
|
|
111
|
+
keyMode: 'none',
|
|
112
|
+
choices: [{
|
|
113
|
+
value: 'a',
|
|
114
|
+
label: 'label a',
|
|
115
|
+
correct: true,
|
|
116
|
+
feedback: 'great'
|
|
117
|
+
}, {
|
|
118
|
+
value: 'b',
|
|
119
|
+
label: 'label b'
|
|
120
|
+
}, {
|
|
121
|
+
value: 'c',
|
|
122
|
+
label: 'label c',
|
|
123
|
+
correct: true,
|
|
124
|
+
feedback: 'great'
|
|
125
|
+
}],
|
|
126
|
+
session: {
|
|
127
|
+
value: ['a']
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
expect(w).toMatchSnapshot();
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
describe('getCorrectness', function () {
|
|
134
|
+
var itemChoices = [{
|
|
135
|
+
value: 'a',
|
|
136
|
+
label: 'label a',
|
|
137
|
+
correct: true,
|
|
138
|
+
feedback: 'great'
|
|
139
|
+
}, {
|
|
140
|
+
value: 'b',
|
|
141
|
+
label: 'label b'
|
|
142
|
+
}, {
|
|
143
|
+
value: 'c',
|
|
144
|
+
label: 'label c',
|
|
145
|
+
feedback: 'great'
|
|
146
|
+
}, {
|
|
147
|
+
value: 'd',
|
|
148
|
+
label: 'label d',
|
|
149
|
+
correct: true,
|
|
150
|
+
feedback: 'great'
|
|
151
|
+
}];
|
|
152
|
+
var w = mkWrapper({
|
|
153
|
+
mode: 'evaluate',
|
|
154
|
+
choices: itemChoices,
|
|
155
|
+
session: {
|
|
156
|
+
value: ['a', 'c']
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
describe('showCorrectToggle disabled (state.showCorrect is false)', function () {
|
|
160
|
+
it('shows choice correctness only if was checked', function () {
|
|
161
|
+
// this one was selected and is correct
|
|
162
|
+
expect(w.instance().getCorrectness(itemChoices[0])).toEqual('correct'); // this one was not selected and is incorrect
|
|
163
|
+
|
|
164
|
+
expect(w.instance().getCorrectness(itemChoices[1])).toEqual(undefined); // this one was selected, but is incorrect
|
|
165
|
+
|
|
166
|
+
expect(w.instance().getCorrectness(itemChoices[2])).toEqual('incorrect'); // this one was not selected and is correct
|
|
167
|
+
|
|
168
|
+
expect(w.instance().getCorrectness(itemChoices[3])).toEqual('incorrect');
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
describe('showCorrectToggle enabled (state.showCorrect is true)', function () {
|
|
172
|
+
it('shows choice correctness no matter if was checked or not', function () {
|
|
173
|
+
w.instance().state.showCorrect = true; // this one is correct
|
|
174
|
+
|
|
175
|
+
expect(w.instance().getCorrectness(itemChoices[0])).toEqual('correct'); // this one is not correct
|
|
176
|
+
|
|
177
|
+
expect(w.instance().getCorrectness(itemChoices[1])).toEqual(undefined); // this one is not correct
|
|
178
|
+
|
|
179
|
+
expect(w.instance().getCorrectness(itemChoices[2])).toEqual(undefined); // this one is correct
|
|
180
|
+
|
|
181
|
+
expect(w.instance().getCorrectness(itemChoices[3])).toEqual('correct');
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
describe('onToggle', function () {
|
|
186
|
+
it('toggles the state', function () {
|
|
187
|
+
var w = mkWrapper({
|
|
188
|
+
mode: 'evaluate'
|
|
189
|
+
});
|
|
190
|
+
expect(w.state('showCorrect')).toEqual(false);
|
|
191
|
+
w.instance().onToggle();
|
|
192
|
+
expect(w.state('showCorrect')).toEqual(true);
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
describe('Toggle', function () {
|
|
196
|
+
it('toggle is rendered', function () {
|
|
197
|
+
var t = mkWrapper().find(_correctAnswerToggle.CorrectAnswerToggle);
|
|
198
|
+
expect(t.length).toEqual(1);
|
|
199
|
+
});
|
|
200
|
+
it('toggle show is set to false', function () {
|
|
201
|
+
expect(mkWrapper().find(_correctAnswerToggle.CorrectAnswerToggle).prop('show')).toEqual(false);
|
|
202
|
+
});
|
|
203
|
+
it('shows toggle if mode is evaluate, feedback is enabled and responseCorrect is false', function () {
|
|
204
|
+
expect(mkWrapper({
|
|
205
|
+
mode: 'evaluate',
|
|
206
|
+
responseCorrect: false,
|
|
207
|
+
feedbackEnabled: true
|
|
208
|
+
}).find(_correctAnswerToggle.CorrectAnswerToggle).prop('show')).toEqual(true);
|
|
209
|
+
});
|
|
210
|
+
it('hides toggle if mode is evaluate and responseCorrect is false', function () {
|
|
211
|
+
expect(mkWrapper({
|
|
212
|
+
mode: 'evaluate',
|
|
213
|
+
responseCorrect: true
|
|
214
|
+
}).find(_correctAnswerToggle.CorrectAnswerToggle).prop('show')).toEqual(false);
|
|
215
|
+
});
|
|
216
|
+
it('not toggled if showCorrect is false', function () {
|
|
217
|
+
var w = mkWrapper({
|
|
218
|
+
mode: 'evaluate'
|
|
219
|
+
});
|
|
220
|
+
w.setState({
|
|
221
|
+
showCorrect: false
|
|
222
|
+
});
|
|
223
|
+
expect(w.find(_correctAnswerToggle.CorrectAnswerToggle).prop('toggled')).toEqual(false);
|
|
224
|
+
});
|
|
225
|
+
it('is toggled showCorrect=true && mode=evaluate', function () {
|
|
226
|
+
var w = mkWrapper({
|
|
227
|
+
mode: 'evaluate'
|
|
228
|
+
});
|
|
229
|
+
w.setState({
|
|
230
|
+
showCorrect: true
|
|
231
|
+
});
|
|
232
|
+
expect(w.find(_correctAnswerToggle.CorrectAnswerToggle).prop('toggled')).toEqual(true);
|
|
233
|
+
});
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
});
|
|
237
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbXVsdGlwbGUtY2hvaWNlLXRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwid3JhcHBlciIsIm9uQ2hvaWNlQ2hhbmdlZCIsImplc3QiLCJmbiIsImJlZm9yZUVhY2giLCJleHRyYXMiLCJwcm9wcyIsImNsYXNzZXMiLCJjaG9pY2UiLCJpbmRleCIsImNob2ljZXNMZW5ndGgiLCJzaG93Q29ycmVjdCIsImlzRXZhbHVhdGVNb2RlIiwiY2hvaWNlTW9kZSIsImRpc2FibGVkIiwiY2hlY2tlZCIsImNvcnJlY3RuZXNzIiwiZGlzcGxheUtleSIsImNob2ljZXNMYXlvdXQiLCJncmlkQ29sdW1ucyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwidyIsImluc3RhbmNlIiwib25DaGFuZ2UiLCJub3QiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwidG9nZ2xlIiwibWtXcmFwcGVyIiwib3B0cyIsImNsb25lIiwiXyIsIm1lcmdlIiwiY2hvaWNlcyIsImtleU1vZGUiLCJtb2RlIiwidmFsdWUiLCJsYWJlbCIsImNvcnJlY3QiLCJmZWVkYmFjayIsInNlc3Npb24iLCJpdGVtQ2hvaWNlcyIsImdldENvcnJlY3RuZXNzIiwidG9FcXVhbCIsInVuZGVmaW5lZCIsInN0YXRlIiwib25Ub2dnbGUiLCJ0IiwiZmluZCIsIkNvcnJlY3RBbnN3ZXJUb2dnbGUiLCJsZW5ndGgiLCJwcm9wIiwicmVzcG9uc2VDb3JyZWN0IiwiZmVlZGJhY2tFbmFibGVkIiwic2V0U3RhdGUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQUEsUUFBUSxDQUFDLFFBQUQsRUFBVyxZQUFNO0FBQ3ZCLE1BQUlDLE9BQUo7QUFBQSxNQUNFQyxlQUFlLEdBQUdDLElBQUksQ0FBQ0MsRUFBTCxFQURwQjtBQUdBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmSixJQUFBQSxPQUFPLEdBQUcsaUJBQUNL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YixRQUFBQSxDQUFDLENBQUNnQyxRQUFGLENBQVc7QUFBRTVDLFVBQUFBLFdBQVcsRUFBRTtBQUFmLFNBQVg7QUFDQVUsUUFBQUEsTUFBTSxDQUFDRSxDQUFDLENBQUMwQixJQUFGLENBQU9DLHdDQUFQLEVBQTRCRSxJQUE1QixDQUFpQyxTQUFqQyxDQUFELENBQU4sQ0FBb0RSLE9BQXBELENBQTRELEtBQTVEO0FBQ0QsT0FKQyxDQUFGO0FBTUF4QixNQUFBQSxFQUFFLENBQUMsOENBQUQsRUFBaUQsWUFBTTtBQUN2RCxZQUFJRyxDQUFDLEdBQUdNLFNBQVMsQ0FBQztBQUFFTyxVQUFBQSxJQUFJLEVBQUU7QUFBUixTQUFELENBQWpCO0FBQ0FiLFFBQUFBLENBQUMsQ0FBQ2dDLFFBQUYsQ0FBVztBQUFFNUMsVUFBQUEsV0FBVyxFQUFFO0FBQWYsU0FBWDtBQUNBVSxRQUFBQSxNQUFNLENBQUNFLENBQUMsQ0FBQzBCLElBQUYsQ0FBT0Msd0NBQVAsRUFBNEJFLElBQTVCLENBQWlDLFNBQWpDLENBQUQsQ0FBTixDQUFvRFIsT0FBcEQsQ0FBNEQsSUFBNUQ7QUFDRCxPQUpDLENBQUY7QUFLRCxLQW5DTyxDQUFSO0FBb0NELEdBekhPLENBQVI7QUEwSEQsQ0FySk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgeyBNdWx0aXBsZUNob2ljZSwgQ2hvaWNlIH0gZnJvbSAnLi4vbXVsdGlwbGUtY2hvaWNlJztcbmltcG9ydCB7Q29ycmVjdEFuc3dlclRvZ2dsZX0gZnJvbSAnQHBpZS1saWIvcGllLXRvb2xib3gvY29ycmVjdC1hbnN3ZXItdG9nZ2xlJztcblxuZGVzY3JpYmUoJ0Nob2ljZScsICgpID0+IHtcbiAgbGV0IHdyYXBwZXIsXG4gICAgb25DaG9pY2VDaGFuZ2VkID0gamVzdC5mbigpO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHdyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgICAgY2xhc3Nlczoge30sXG4gICAgICAgIGNob2ljZToge30sXG4gICAgICAgIGluZGV4OiAwLFxuICAgICAgICBjaG9pY2VzTGVuZ3RoOiAxLFxuICAgICAgICBzaG93Q29ycmVjdDogZmFsc2UsXG4gICAgICAgIGlzRXZhbHVhdGVNb2RlOiBmYWxzZSxcbiAgICAgICAgY2hvaWNlTW9kZTogJ3JhZGlvJyxcbiAgICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgICAgIG9uQ2hvaWNlQ2hhbmdlZCxcbiAgICAgICAgY2hlY2tlZDogdHJ1ZSxcbiAgICAgICAgY29ycmVjdG5lc3M6ICdjb3JyZWN0JyxcbiAgICAgICAgZGlzcGxheUtleTogJzAnLFxuICAgICAgICBjaG9pY2VzTGF5b3V0OiAnZ3JpZCcsXG4gICAgICAgIGdyaWRDb2x1bW5zOiAyLFxuICAgICAgICAuLi5leHRyYXMsXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHNoYWxsb3coPENob2ljZSB7Li4ucHJvcHN9IC8+KTtcbiAgICB9O1xuICB9KTtcblxuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qod3JhcHBlcigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge1xuICAgIGl0KCdkb2VzIG5vdCBjYWxsIG9uQ2hvaWNlQ2hhbmdlZCBpZiBkaXNhYmxlZCBpcyB0cnVlJywgKCkgPT4ge1xuICAgICAgbGV0IHcgPSB3cmFwcGVyKCk7XG5cbiAgICAgIHcuaW5zdGFuY2UoKS5vbkNoYW5nZSgpO1xuXG4gICAgICBleHBlY3Qob25DaG9pY2VDaGFuZ2VkKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NhbGxzIG9uQ2hvaWNlQ2hhbmdlZCBpZiBkaXNhYmxlZCBpcyBmYWxzZScsICgpID0+IHtcbiAgICAgIGxldCB3ID0gd3JhcHBlcih7IGRpc2FibGVkOiBmYWxzZSB9KTtcblxuICAgICAgdy5pbnN0YW5jZSgpLm9uQ2hhbmdlKCk7XG5cbiAgICAgIGV4cGVjdChvbkNob2ljZUNoYW5nZWQpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ0NvcmVzcHJpbmdDaG9pY2UnLCAoKSA9PiB7XG4gIGxldCB3cmFwcGVyLCB0b2dnbGU7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgdG9nZ2xlID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIDxkaXY+bW9ja2VkLXRvZ2dsZTwvZGl2PjtcbiAgICB9O1xuICB9KTtcblxuICBsZXQgbWtXcmFwcGVyID0gKG9wdHMsIGNsb25lID0gdHJ1ZSkgPT4ge1xuICAgIG9wdHMgPSBjbG9uZVxuICAgICAgPyAob3B0cyA9IF8ubWVyZ2UoXG4gICAgICAgICAge1xuICAgICAgICAgICAgY2xhc3Nlczoge30sXG4gICAgICAgICAgICBjaG9pY2VzOiBbXSxcbiAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgICAgIGtleU1vZGU6ICdsZXR0ZXJzJyxcbiAgICAgICAgICAgIG9uQ2hvaWNlQ2hhbmdlZDogamVzdC5mbigpLFxuICAgICAgICAgICAgbW9kZTogJ2dhdGhlcicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvcHRzLFxuICAgICAgICApKVxuICAgICAgOiBvcHRzO1xuXG4gICAgcmV0dXJuIHNoYWxsb3coPE11bHRpcGxlQ2hvaWNlIHsuLi5vcHRzfSAvPik7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgd3JhcHBlciA9IG1rV3JhcHBlcih7XG4gICAgICAgIGNob2ljZXM6IFtcbiAgICAgICAgICB7IHZhbHVlOiAnYScsIGxhYmVsOiAnbGFiZWwgYScsIGNvcnJlY3Q6IHRydWUsIGZlZWRiYWNrOiAnZ3JlYXQnIH0sXG4gICAgICAgICAgeyB2YWx1ZTogJ2InLCBsYWJlbDogJ2xhYmVsIGInIH0sXG4gICAgICAgICAgeyB2YWx1ZTogJ2MnLCBsYWJlbDogJ2xhYmVsIGMnLCBjb3JyZWN0OiB0cnVlLCBmZWVkYmFjazogJ2dyZWF0JyB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdCh3cmFwcGVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdyZW5kZXJzIGluY29ycmVjdCB0aWNrIGlmIG9uZSBhbnN3ZXIgaXMgY29ycmVjdCBidXQgaXQgaXMgbm90IGNoZWNrZWQnLCAoKSA9PiB7XG4gICAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgICAgbGV0IHcgPSBta1dyYXBwZXIoe1xuICAgICAgICAgIG1vZGU6ICdldmFsdWF0ZScsXG4gICAgICAgICAga2V5TW9kZTogJ25vbmUnLFxuICAgICAgICAgIGNob2ljZXM6IFtcbiAgICAgICAgICAgIHsgdmFsdWU6ICdhJywgbGFiZWw6ICdsYWJlbCBhJywgY29ycmVjdDogdHJ1ZSwgZmVlZGJhY2s6ICdncmVhdCcgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6ICdiJywgbGFiZWw6ICdsYWJlbCBiJyB9LFxuICAgICAgICAgICAgeyB2YWx1ZTogJ2MnLCBsYWJlbDogJ2xhYmVsIGMnLCBjb3JyZWN0OiB0cnVlLCBmZWVkYmFjazogJ2dyZWF0JyB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgc2Vzc2lvbjoge1xuICAgICAgICAgICAgdmFsdWU6IFsnYSddLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2dldENvcnJlY3RuZXNzJywgKCkgPT4ge1xuICAgICAgbGV0IGl0ZW1DaG9pY2VzID0gW1xuICAgICAgICB7IHZhbHVlOiAnYScsIGxhYmVsOiAnbGFiZWwgYScsIGNvcnJlY3Q6IHRydWUsIGZlZWRiYWNrOiAnZ3JlYXQnIH0sXG4gICAgICAgIHsgdmFsdWU6ICdiJywgbGFiZWw6ICdsYWJlbCBiJyB9LFxuICAgICAgICB7IHZhbHVlOiAnYycsIGxhYmVsOiAnbGFiZWwgYycsIGZlZWRiYWNrOiAnZ3JlYXQnIH0sXG4gICAgICAgIHsgdmFsdWU6ICdkJywgbGFiZWw6ICdsYWJlbCBkJywgY29ycmVjdDogdHJ1ZSwgZmVlZGJhY2s6ICdncmVhdCcgfSxcbiAgICAgIF07XG4gICAgICBsZXQgdyA9IG1rV3JhcHBlcih7XG4gICAgICAgIG1vZGU6ICdldmFsdWF0ZScsXG4gICAgICAgIGNob2ljZXM6IGl0ZW1DaG9pY2VzLFxuICAgICAgICBzZXNzaW9uOiB7XG4gICAgICAgICAgdmFsdWU6IFsnYScsICdjJ10sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgZGVzY3JpYmUoJ3Nob3dDb3JyZWN0VG9nZ2xlIGRpc2FibGVkIChzdGF0ZS5zaG93Q29ycmVjdCBpcyBmYWxzZSknLCAoKSA9PiB7XG4gICAgICAgIGl0KCdzaG93cyBjaG9pY2UgY29ycmVjdG5lc3Mgb25seSBpZiB3YXMgY2hlY2tlZCcsICgpID0+IHtcbiAgICAgICAgICAvLyB0aGlzIG9uZSB3YXMgc2VsZWN0ZWQgYW5kIGlzIGNvcnJlY3RcbiAgICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmdldENvcnJlY3RuZXNzKGl0ZW1DaG9pY2VzWzBdKSkudG9FcXVhbCgnY29ycmVjdCcpO1xuICAgICAgICAgIC8vIHRoaXMgb25lIHdhcyBub3Qgc2VsZWN0ZWQgYW5kIGlzIGluY29ycmVjdFxuICAgICAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuZ2V0Q29ycmVjdG5lc3MoaXRlbUNob2ljZXNbMV0pKS50b0VxdWFsKHVuZGVmaW5lZCk7XG4gICAgICAgICAgLy8gdGhpcyBvbmUgd2FzIHNlbGVjdGVkLCBidXQgaXMgaW5jb3JyZWN0XG4gICAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5nZXRDb3JyZWN0bmVzcyhpdGVtQ2hvaWNlc1syXSkpLnRvRXF1YWwoJ2luY29ycmVjdCcpO1xuICAgICAgICAgIC8vIHRoaXMgb25lIHdhcyBub3Qgc2VsZWN0ZWQgYW5kIGlzIGNvcnJlY3RcbiAgICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmdldENvcnJlY3RuZXNzKGl0ZW1DaG9pY2VzWzNdKSkudG9FcXVhbCgnaW5jb3JyZWN0Jyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGRlc2NyaWJlKCdzaG93Q29ycmVjdFRvZ2dsZSBlbmFibGVkIChzdGF0ZS5zaG93Q29ycmVjdCBpcyB0cnVlKScsICgpID0+IHtcbiAgICAgICAgaXQoJ3Nob3dzIGNob2ljZSBjb3JyZWN0bmVzcyBubyBtYXR0ZXIgaWYgd2FzIGNoZWNrZWQgb3Igbm90JywgKCkgPT4ge1xuICAgICAgICAgIHcuaW5zdGFuY2UoKS5zdGF0ZS5zaG93Q29ycmVjdCA9IHRydWU7XG5cbiAgICAgICAgICAvLyB0aGlzIG9uZSBpcyBjb3JyZWN0XG4gICAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5nZXRDb3JyZWN0bmVzcyhpdGVtQ2hvaWNlc1swXSkpLnRvRXF1YWwoJ2NvcnJlY3QnKTtcbiAgICAgICAgICAvLyB0aGlzIG9uZSBpcyBub3QgY29ycmVjdFxuICAgICAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuZ2V0Q29ycmVjdG5lc3MoaXRlbUNob2ljZXNbMV0pKS50b0VxdWFsKHVuZGVmaW5lZCk7XG4gICAgICAgICAgLy8gdGhpcyBvbmUgaXMgbm90IGNvcnJlY3RcbiAgICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmdldENvcnJlY3RuZXNzKGl0ZW1DaG9pY2VzWzJdKSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgICAgICAgIC8vIHRoaXMgb25lIGlzIGNvcnJlY3RcbiAgICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmdldENvcnJlY3RuZXNzKGl0ZW1DaG9pY2VzWzNdKSkudG9FcXVhbCgnY29ycmVjdCcpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ29uVG9nZ2xlJywgKCkgPT4ge1xuICAgICAgaXQoJ3RvZ2dsZXMgdGhlIHN0YXRlJywgKCkgPT4ge1xuICAgICAgICBsZXQgdyA9IG1rV3JhcHBlcih7IG1vZGU6ICdldmFsdWF0ZScgfSk7XG4gICAgICAgIGV4cGVjdCh3LnN0YXRlKCdzaG93Q29ycmVjdCcpKS50b0VxdWFsKGZhbHNlKTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uVG9nZ2xlKCk7XG4gICAgICAgIGV4cGVjdCh3LnN0YXRlKCdzaG93Q29ycmVjdCcpKS50b0VxdWFsKHRydWUpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnVG9nZ2xlJywgKCkgPT4ge1xuICAgICAgaXQoJ3RvZ2dsZSBpcyByZW5kZXJlZCcsICgpID0+IHtcbiAgICAgICAgY29uc3QgdCA9IG1rV3JhcHBlcigpLmZpbmQoQ29ycmVjdEFuc3dlclRvZ2dsZSk7XG4gICAgICAgIGV4cGVjdCh0Lmxlbmd0aCkudG9FcXVhbCgxKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgndG9nZ2xlIHNob3cgaXMgc2V0IHRvIGZhbHNlJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QobWtXcmFwcGVyKCkuZmluZChDb3JyZWN0QW5zd2VyVG9nZ2xlKS5wcm9wKCdzaG93JykpLnRvRXF1YWwoZmFsc2UpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG93cyB0b2dnbGUgaWYgbW9kZSBpcyBldmFsdWF0ZSwgZmVlZGJhY2sgaXMgZW5hYmxlZCBhbmQgcmVzcG9uc2VDb3JyZWN0IGlzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QoXG4gICAgICAgICAgbWtXcmFwcGVyKHsgbW9kZTogJ2V2YWx1YXRlJywgcmVzcG9uc2VDb3JyZWN0OiBmYWxzZSwgZmVlZGJhY2tFbmFibGVkOiB0cnVlIH0pXG4gICAgICAgICAgICAuZmluZChDb3JyZWN0QW5zd2VyVG9nZ2xlKVxuICAgICAgICAgICAgLnByb3AoJ3Nob3cnKSxcbiAgICAgICAgKS50b0VxdWFsKHRydWUpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdoaWRlcyB0b2dnbGUgaWYgbW9kZSBpcyBldmFsdWF0ZSBhbmQgcmVzcG9uc2VDb3JyZWN0IGlzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QobWtXcmFwcGVyKHsgbW9kZTogJ2V2YWx1YXRlJywgcmVzcG9uc2VDb3JyZWN0OiB0cnVlIH0pLmZpbmQoQ29ycmVjdEFuc3dlclRvZ2dsZSkucHJvcCgnc2hvdycpKS50b0VxdWFsKFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdub3QgdG9nZ2xlZCBpZiBzaG93Q29ycmVjdCBpcyBmYWxzZScsICgpID0+IHtcbiAgICAgICAgbGV0IHcgPSBta1dyYXBwZXIoeyBtb2RlOiAnZXZhbHVhdGUnIH0pO1xuICAgICAgICB3LnNldFN0YXRlKHsgc2hvd0NvcnJlY3Q6IGZhbHNlIH0pO1xuICAgICAgICBleHBlY3Qody5maW5kKENvcnJlY3RBbnN3ZXJUb2dnbGUpLnByb3AoJ3RvZ2dsZWQnKSkudG9FcXVhbChmYWxzZSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2lzIHRvZ2dsZWQgc2hvd0NvcnJlY3Q9dHJ1ZSAmJiBtb2RlPWV2YWx1YXRlJywgKCkgPT4ge1xuICAgICAgICBsZXQgdyA9IG1rV3JhcHBlcih7IG1vZGU6ICdldmFsdWF0ZScgfSk7XG4gICAgICAgIHcuc2V0U3RhdGUoeyBzaG93Q29ycmVjdDogdHJ1ZSB9KTtcbiAgICAgICAgZXhwZWN0KHcuZmluZChDb3JyZWN0QW5zd2VyVG9nZ2xlKS5wcm9wKCd0b2dnbGVkJykpLnRvRXF1YWwodHJ1ZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _sessionUpdater = require("../session-updater");
|
|
4
|
+
|
|
5
|
+
describe('session-updater', function () {
|
|
6
|
+
var updater;
|
|
7
|
+
beforeEach(function () {});
|
|
8
|
+
describe('updateSessionValue', function () {
|
|
9
|
+
var assert = function assert(mode, session, data, expected) {
|
|
10
|
+
return function () {
|
|
11
|
+
(0, _sessionUpdater.updateSessionValue)(session, mode, data);
|
|
12
|
+
expect(session.value).toEqual(expected);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
describe('checkbox', function () {
|
|
17
|
+
var cb = assert.bind(null, 'checkbox');
|
|
18
|
+
it('adds 1', cb({
|
|
19
|
+
value: []
|
|
20
|
+
}, {
|
|
21
|
+
value: '1',
|
|
22
|
+
selected: true
|
|
23
|
+
}, ['1']));
|
|
24
|
+
it('removes 1', cb({
|
|
25
|
+
value: ['1']
|
|
26
|
+
}, {
|
|
27
|
+
value: '1',
|
|
28
|
+
selected: false
|
|
29
|
+
}, []));
|
|
30
|
+
it('adds 2', cb({
|
|
31
|
+
value: ['1']
|
|
32
|
+
}, {
|
|
33
|
+
value: '2',
|
|
34
|
+
selected: true
|
|
35
|
+
}, ['1', '2']));
|
|
36
|
+
it('does not add duplicate 1', cb({
|
|
37
|
+
value: ['1']
|
|
38
|
+
}, {
|
|
39
|
+
value: '1',
|
|
40
|
+
selected: true
|
|
41
|
+
}, ['1']));
|
|
42
|
+
it('does not remove if not in arrary', cb({
|
|
43
|
+
value: ['1']
|
|
44
|
+
}, {
|
|
45
|
+
value: '2',
|
|
46
|
+
selected: false
|
|
47
|
+
}, ['1']));
|
|
48
|
+
});
|
|
49
|
+
describe('radio', function () {
|
|
50
|
+
var cb = assert.bind(null, 'radio');
|
|
51
|
+
it('adds 1', cb({
|
|
52
|
+
value: []
|
|
53
|
+
}, {
|
|
54
|
+
value: '1',
|
|
55
|
+
selected: true
|
|
56
|
+
}, ['1']));
|
|
57
|
+
it('adds 2', cb({
|
|
58
|
+
value: ['1']
|
|
59
|
+
}, {
|
|
60
|
+
value: '2',
|
|
61
|
+
selected: true
|
|
62
|
+
}, ['2']));
|
|
63
|
+
it('does not add duplicate 1', cb({
|
|
64
|
+
value: ['1']
|
|
65
|
+
}, {
|
|
66
|
+
value: '1',
|
|
67
|
+
selected: true
|
|
68
|
+
}, ['1']));
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vc2Vzc2lvbi11cGRhdGVyLXRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwidXBkYXRlciIsImJlZm9yZUVhY2giLCJhc3NlcnQiLCJtb2RlIiwic2Vzc2lvbiIsImRhdGEiLCJleHBlY3RlZCIsImV4cGVjdCIsInZhbHVlIiwidG9FcXVhbCIsImNiIiwiYmluZCIsIml0Iiwic2VsZWN0ZWQiXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBRUFBLFFBQVEsQ0FBQyxpQkFBRCxFQUFvQixZQUFNO0FBQ2hDLE1BQUlDLE9BQUo7QUFFQUMsRUFBQUEsVUFBVSxDQUFDLFlBQU0sQ0FBRSxDQUFULENBQVY7QUFFQUYsRUFBQUEsUUFBUSxDQUFDLG9CQUFELEVBQXVCLFlBQU07QUFDbkMsUUFBTUcsTUFBTSxHQUFHLFNBQVRBLE1BQVMsQ0FBQ0MsSUFBRCxFQUFPQyxPQUFQLEVBQWdCQyxJQUFoQixFQUFzQkMsUUFBdEIsRUFBbUM7QUFDaEQsYUFBTyxZQUFNO0FBQ1gsZ0RBQW1CRixPQUFuQixFQUE0QkQsSUFBNUIsRUFBa0NFLElBQWxDO0FBQ0FFLFFBQUFBLE1BQU0sQ0FBQ0gsT0FBTyxDQUFDSSxLQUFULENBQU4sQ0FBc0JDLE9BQXRCLENBQThCSCxRQUE5QjtBQUNELE9BSEQ7QUFJRCxLQUxEOztBQU9BUCxJQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekIsVUFBTVcsRUFBRSxHQUFHUixNQUFNLENBQUNTLElBQVAsQ0FBWSxJQUFaLEVBQWtCLFVBQWxCLENBQVg7QUFDQUMsTUFBQUEsRUFBRSxDQUFDLFFBQUQsRUFBV0YsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRTtBQUFULE9BQUQsRUFBZ0I7QUFBRUEsUUFBQUEsS0FBSyxFQUFFLEdBQVQ7QUFBY0ssUUFBQUEsUUFBUSxFQUFFO0FBQXhCLE9BQWhCLEVBQWdELENBQUMsR0FBRCxDQUFoRCxDQUFiLENBQUY7QUFDQUQsTUFBQUEsRUFBRSxDQUFDLFdBQUQsRUFBY0YsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRSxDQUFDLEdBQUQ7QUFBVCxPQUFELEVBQW1CO0FBQUVBLFFBQUFBLEtBQUssRUFBRSxHQUFUO0FBQWNLLFFBQUFBLFFBQVEsRUFBRTtBQUF4QixPQUFuQixFQUFvRCxFQUFwRCxDQUFoQixDQUFGO0FBQ0FELE1BQUFBLEVBQUUsQ0FBQyxRQUFELEVBQVdGLEVBQUUsQ0FBQztBQUFFRixRQUFBQSxLQUFLLEVBQUUsQ0FBQyxHQUFEO0FBQVQsT0FBRCxFQUFtQjtBQUFFQSxRQUFBQSxLQUFLLEVBQUUsR0FBVDtBQUFjSyxRQUFBQSxRQUFRLEVBQUU7QUFBeEIsT0FBbkIsRUFBbUQsQ0FBQyxHQUFELEVBQU0sR0FBTixDQUFuRCxDQUFiLENBQUY7QUFDQUQsTUFBQUEsRUFBRSxDQUFDLDBCQUFELEVBQTZCRixFQUFFLENBQUM7QUFBRUYsUUFBQUEsS0FBSyxFQUFFLENBQUMsR0FBRDtBQUFULE9BQUQsRUFBbUI7QUFBRUEsUUFBQUEsS0FBSyxFQUFFLEdBQVQ7QUFBY0ssUUFBQUEsUUFBUSxFQUFFO0FBQXhCLE9BQW5CLEVBQW1ELENBQUMsR0FBRCxDQUFuRCxDQUEvQixDQUFGO0FBQ0FELE1BQUFBLEVBQUUsQ0FBQyxrQ0FBRCxFQUFxQ0YsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRSxDQUFDLEdBQUQ7QUFBVCxPQUFELEVBQW1CO0FBQUVBLFFBQUFBLEtBQUssRUFBRSxHQUFUO0FBQWNLLFFBQUFBLFFBQVEsRUFBRTtBQUF4QixPQUFuQixFQUFvRCxDQUFDLEdBQUQsQ0FBcEQsQ0FBdkMsQ0FBRjtBQUNELEtBUE8sQ0FBUjtBQVNBZCxJQUFBQSxRQUFRLENBQUMsT0FBRCxFQUFVLFlBQU07QUFDdEIsVUFBTVcsRUFBRSxHQUFHUixNQUFNLENBQUNTLElBQVAsQ0FBWSxJQUFaLEVBQWtCLE9BQWxCLENBQVg7QUFDQUMsTUFBQUEsRUFBRSxDQUFDLFFBQUQsRUFBV0YsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRTtBQUFULE9BQUQsRUFBZ0I7QUFBRUEsUUFBQUEsS0FBSyxFQUFFLEdBQVQ7QUFBY0ssUUFBQUEsUUFBUSxFQUFFO0FBQXhCLE9BQWhCLEVBQWdELENBQUMsR0FBRCxDQUFoRCxDQUFiLENBQUY7QUFDQUQsTUFBQUEsRUFBRSxDQUFDLFFBQUQsRUFBV0YsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRSxDQUFDLEdBQUQ7QUFBVCxPQUFELEVBQW1CO0FBQUVBLFFBQUFBLEtBQUssRUFBRSxHQUFUO0FBQWNLLFFBQUFBLFFBQVEsRUFBRTtBQUF4QixPQUFuQixFQUFtRCxDQUFDLEdBQUQsQ0FBbkQsQ0FBYixDQUFGO0FBQ0FELE1BQUFBLEVBQUUsQ0FBQywwQkFBRCxFQUE2QkYsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRSxDQUFDLEdBQUQ7QUFBVCxPQUFELEVBQW1CO0FBQUVBLFFBQUFBLEtBQUssRUFBRSxHQUFUO0FBQWNLLFFBQUFBLFFBQVEsRUFBRTtBQUF4QixPQUFuQixFQUFtRCxDQUFDLEdBQUQsQ0FBbkQsQ0FBL0IsQ0FBRjtBQUNELEtBTE8sQ0FBUjtBQU1ELEdBdkJPLENBQVI7QUF3QkQsQ0E3Qk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVwZGF0ZVNlc3Npb25WYWx1ZSB9IGZyb20gJy4uL3Nlc3Npb24tdXBkYXRlcic7XG5cbmRlc2NyaWJlKCdzZXNzaW9uLXVwZGF0ZXInLCAoKSA9PiB7XG4gIGxldCB1cGRhdGVyO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge30pO1xuXG4gIGRlc2NyaWJlKCd1cGRhdGVTZXNzaW9uVmFsdWUnLCAoKSA9PiB7XG4gICAgY29uc3QgYXNzZXJ0ID0gKG1vZGUsIHNlc3Npb24sIGRhdGEsIGV4cGVjdGVkKSA9PiB7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB1cGRhdGVTZXNzaW9uVmFsdWUoc2Vzc2lvbiwgbW9kZSwgZGF0YSk7XG4gICAgICAgIGV4cGVjdChzZXNzaW9uLnZhbHVlKS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICAgIH07XG4gICAgfTtcblxuICAgIGRlc2NyaWJlKCdjaGVja2JveCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGNiID0gYXNzZXJ0LmJpbmQobnVsbCwgJ2NoZWNrYm94Jyk7XG4gICAgICBpdCgnYWRkcyAxJywgY2IoeyB2YWx1ZTogW10gfSwgeyB2YWx1ZTogJzEnLCBzZWxlY3RlZDogdHJ1ZSB9LCBbJzEnXSkpO1xuICAgICAgaXQoJ3JlbW92ZXMgMScsIGNiKHsgdmFsdWU6IFsnMSddIH0sIHsgdmFsdWU6ICcxJywgc2VsZWN0ZWQ6IGZhbHNlIH0sIFtdKSk7XG4gICAgICBpdCgnYWRkcyAyJywgY2IoeyB2YWx1ZTogWycxJ10gfSwgeyB2YWx1ZTogJzInLCBzZWxlY3RlZDogdHJ1ZSB9LCBbJzEnLCAnMiddKSk7XG4gICAgICBpdCgnZG9lcyBub3QgYWRkIGR1cGxpY2F0ZSAxJywgY2IoeyB2YWx1ZTogWycxJ10gfSwgeyB2YWx1ZTogJzEnLCBzZWxlY3RlZDogdHJ1ZSB9LCBbJzEnXSkpO1xuICAgICAgaXQoJ2RvZXMgbm90IHJlbW92ZSBpZiBub3QgaW4gYXJyYXJ5JywgY2IoeyB2YWx1ZTogWycxJ10gfSwgeyB2YWx1ZTogJzInLCBzZWxlY3RlZDogZmFsc2UgfSwgWycxJ10pKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdyYWRpbycsICgpID0+IHtcbiAgICAgIGNvbnN0IGNiID0gYXNzZXJ0LmJpbmQobnVsbCwgJ3JhZGlvJyk7XG4gICAgICBpdCgnYWRkcyAxJywgY2IoeyB2YWx1ZTogW10gfSwgeyB2YWx1ZTogJzEnLCBzZWxlY3RlZDogdHJ1ZSB9LCBbJzEnXSkpO1xuICAgICAgaXQoJ2FkZHMgMicsIGNiKHsgdmFsdWU6IFsnMSddIH0sIHsgdmFsdWU6ICcyJywgc2VsZWN0ZWQ6IHRydWUgfSwgWycyJ10pKTtcbiAgICAgIGl0KCdkb2VzIG5vdCBhZGQgZHVwbGljYXRlIDEnLCBjYih7IHZhbHVlOiBbJzEnXSB9LCB7IHZhbHVlOiAnMScsIHNlbGVjdGVkOiB0cnVlIH0sIFsnMSddKSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|