@digabi/exam-engine-rendering 19.8.0 → 19.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/Grading.d.ts +4 -0
  2. package/dist/Grading.d.ts.map +1 -0
  3. package/dist/Grading.js +109 -0
  4. package/dist/Grading.js.map +1 -0
  5. package/dist/PreviewGrading.d.ts.map +1 -1
  6. package/dist/PreviewGrading.js +9 -10
  7. package/dist/PreviewGrading.js.map +1 -1
  8. package/dist/__tests__/puppeteerUtils.js +7 -7
  9. package/dist/__tests__/puppeteerUtils.js.map +1 -1
  10. package/dist/__tests__/testCasTransition.js +2 -2
  11. package/dist/__tests__/testCasTransition.js.map +1 -1
  12. package/dist/__tests__/testChoiceAnswer.js +15 -1
  13. package/dist/__tests__/testChoiceAnswer.js.map +1 -1
  14. package/dist/__tests__/testGrading.js +20 -11
  15. package/dist/__tests__/testGrading.js.map +1 -1
  16. package/dist/__tests__/testGradingInstructionsGeneration.js +2 -2
  17. package/dist/__tests__/testGradingInstructionsGeneration.js.map +1 -1
  18. package/dist/__tests__/testOfflineGeneration.js +1 -1
  19. package/dist/__tests__/testOfflineGeneration.js.map +1 -1
  20. package/dist/__tests__/testSidebarNavigation.d.ts +2 -0
  21. package/dist/__tests__/testSidebarNavigation.d.ts.map +1 -0
  22. package/dist/__tests__/testSidebarNavigation.js +53 -0
  23. package/dist/__tests__/testSidebarNavigation.js.map +1 -0
  24. package/dist/__tests__/testTextAnswers.js +71 -0
  25. package/dist/__tests__/testTextAnswers.js.map +1 -1
  26. package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
  27. package/dist/createOfflineExam.js +8 -8
  28. package/dist/createOfflineExam.js.map +1 -1
  29. package/dist/exam-loader.js +3 -3
  30. package/dist/exam-loader.js.map +1 -1
  31. package/dist/getOfflineWebpackConfig.js +18 -18
  32. package/dist/getPreviewWebpackConfig.js +12 -12
  33. package/dist/getWebpackConfig.js +18 -18
  34. package/dist/offline.js +4 -3
  35. package/dist/offline.js.map +1 -1
  36. package/dist/postcss.config.d.ts +1 -1
  37. package/dist/postcss.config.js +1 -1
  38. package/dist/preview.js +22 -19
  39. package/dist/preview.js.map +1 -1
  40. package/dist/previewExam.js +1 -1
  41. package/dist/previewExam.js.map +1 -1
  42. package/dist/utils/indexedDBExamServerAPI.js +3 -3
  43. package/dist/utils/indexedDBExamServerAPI.js.map +1 -1
  44. package/dist/utils/indexedDBGraringServerAPI.d.ts +3 -0
  45. package/dist/utils/indexedDBGraringServerAPI.d.ts.map +1 -0
  46. package/dist/utils/indexedDBGraringServerAPI.js +33 -0
  47. package/dist/utils/indexedDBGraringServerAPI.js.map +1 -0
  48. package/dist/utils/noopExamServerAPI.js +2 -2
  49. package/dist/utils/noopExamServerAPI.js.map +1 -1
  50. package/package.json +10 -10
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ declare const _default: React.MemoExoticComponent<React.ComponentType<any>>;
3
+ export default _default;
4
+ //# sourceMappingURL=Grading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grading.d.ts","sourceRoot":"","sources":["../src/Grading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAA;;AAqHtE,wBAA6E"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const react_1 = __importStar(require("react"));
27
+ const react_i18next_1 = require("react-i18next");
28
+ const ResultsContext_1 = require("@digabi/exam-engine-core/dist/components/context/ResultsContext");
29
+ const i18n_1 = require("@digabi/exam-engine-core/dist/i18n");
30
+ const GradingAnswer_1 = require("@digabi/exam-engine-core/dist/components/grading/GradingAnswer");
31
+ const CommonExamContext_1 = require("@digabi/exam-engine-core/dist/components/context/CommonExamContext");
32
+ function Grading() {
33
+ const { answersByQuestionId } = (0, react_1.useContext)(ResultsContext_1.ResultsContext);
34
+ const i18n = (0, i18n_1.initI18n)('FI-fi');
35
+ (0, react_1.useEffect)((0, i18n_1.changeLanguage)(i18n, 'FI-fi'));
36
+ const answerIds = Object.keys(answersByQuestionId).map(Number);
37
+ if (answerIds.length === 0) {
38
+ return react_1.default.createElement("div", null, "No answers");
39
+ }
40
+ const [answerId, setAnswerId] = (0, react_1.useState)(answerIds[0]);
41
+ const annotationsStorage = (0, react_1.useRef)(Object.fromEntries(answerIds.map((id) => [
42
+ id,
43
+ {
44
+ pregrading: [
45
+ {
46
+ startIndex: 2,
47
+ length: 5,
48
+ message: '+1',
49
+ },
50
+ {
51
+ x: 0.07434944237918215,
52
+ y: 0.8599562363238512,
53
+ type: 'rect',
54
+ width: 0.16604708798017348,
55
+ height: 0.03063457330415753,
56
+ message: '+2',
57
+ attachmentIndex: 0,
58
+ },
59
+ {
60
+ x1: 0.4035532994923858,
61
+ x2: 0.5621827411167513,
62
+ y1: 0.957983193277311,
63
+ y2: 0.957983193277311,
64
+ type: 'line',
65
+ message: 'trk, +1',
66
+ attachmentIndex: 0,
67
+ },
68
+ ],
69
+ censoring: [],
70
+ },
71
+ ])));
72
+ const [annotations, setAnnotations] = (0, react_1.useState)({
73
+ pregrading: [],
74
+ censoring: [],
75
+ });
76
+ (0, react_1.useEffect)(() => {
77
+ setAnnotations(annotationsStorage.current[answerId]);
78
+ });
79
+ const answer = answersByQuestionId[answerId];
80
+ const { type: answerType, value } = answer;
81
+ if (answerType === 'choice') {
82
+ return react_1.default.createElement("div", null, "choice answer");
83
+ }
84
+ const { characterCount } = answer;
85
+ function selectQuestion(e, id) {
86
+ e.preventDefault();
87
+ setAnswerId(id);
88
+ setAnnotations(annotationsStorage.current[id]);
89
+ }
90
+ function saveAnnotations(annotations) {
91
+ annotationsStorage.current[answerId] = annotations;
92
+ setAnnotations({ ...annotationsStorage.current[answerId] });
93
+ }
94
+ return (react_1.default.createElement(react_i18next_1.I18nextProvider, { i18n: i18n },
95
+ react_1.default.createElement("main", { className: "e-exam" },
96
+ react_1.default.createElement("div", { className: "grading-navi" }, answerIds.map((id) => id === answerId ? (react_1.default.createElement("span", { key: id, className: "grading-navi-item" }, answersByQuestionId[id].displayNumber)) : (react_1.default.createElement("a", { className: "grading-navi-item", href: "", onClick: (e) => selectQuestion(e, id), key: id }, answersByQuestionId[id].displayNumber)))),
97
+ react_1.default.createElement(GradingAnswer_1.GradingAnswer, { ...{
98
+ isReadOnly: false,
99
+ answerType,
100
+ gradingRole: 'censoring',
101
+ value,
102
+ characterCount,
103
+ maxLength: 100,
104
+ annotations,
105
+ saveAnnotations,
106
+ } }))));
107
+ }
108
+ exports.default = react_1.default.memo((0, ResultsContext_1.withResultsContext)((0, CommonExamContext_1.withCommonExamContext)(Grading)));
109
+ //# sourceMappingURL=Grading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grading.js","sourceRoot":"","sources":["../src/Grading.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewGrading.d.ts","sourceRoot":"","sources":["../src/PreviewGrading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAA;;AAuHtE,wBAAwE"}
1
+ {"version":3,"file":"PreviewGrading.d.ts","sourceRoot":"","sources":["../src/PreviewGrading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAA;;AAsHtE,wBAAwE"}
@@ -35,22 +35,22 @@ function PreviewGrading() {
35
35
  }
36
36
  const [answerId, setAnswerId] = (0, react_1.useState)(answerIds[0]);
37
37
  const [language, setLanguage] = (0, react_1.useState)('fi-FI');
38
- const annotationsStorage = (0, react_1.useRef)(Object.fromEntries(answerIds.map((id) => [
38
+ const annotationsStorage = (0, react_1.useRef)(Object.fromEntries(answerIds.map(id => [
39
39
  id,
40
40
  {
41
41
  pregrading: [
42
42
  {
43
43
  startIndex: 2,
44
44
  length: 5,
45
- message: '+1',
46
- },
45
+ message: '+1'
46
+ }
47
47
  ],
48
- censoring: [],
49
- },
48
+ censoring: []
49
+ }
50
50
  ])));
51
51
  const [annotations, setAnnotations] = (0, react_1.useState)({
52
52
  pregrading: [],
53
- censoring: [],
53
+ censoring: []
54
54
  });
55
55
  (0, react_1.useEffect)(() => {
56
56
  setAnnotations(annotationsStorage.current[answerId]);
@@ -58,13 +58,13 @@ function PreviewGrading() {
58
58
  const answer = answersByQuestionId[answerId];
59
59
  return (react_1.default.createElement("main", { className: "e-exam" },
60
60
  react_1.default.createElement("div", { className: "grading-header" },
61
- react_1.default.createElement("div", { className: "grading-navi" }, answerIds.map((id) => id === answerId ? (react_1.default.createElement("span", { key: id, className: "grading-navi-item" }, answersByQuestionId[id].displayNumber)) : (react_1.default.createElement("a", { className: "grading-navi-item", href: "", onClick: (e) => selectQuestion(e, id), key: id }, answersByQuestionId[id].displayNumber)))),
61
+ react_1.default.createElement("div", { className: "grading-navi" }, answerIds.map(id => id === answerId ? (react_1.default.createElement("span", { key: id, className: "grading-navi-item" }, answersByQuestionId[id].displayNumber)) : (react_1.default.createElement("a", { className: "grading-navi-item", href: "", onClick: e => selectQuestion(e, id), key: id }, answersByQuestionId[id].displayNumber)))),
62
62
  react_1.default.createElement("div", { className: "language-settings" },
63
- react_1.default.createElement("a", { className: "grading-navi-item", href: "", onClick: (e) => {
63
+ react_1.default.createElement("a", { className: "grading-navi-item", href: "", onClick: e => {
64
64
  e.preventDefault();
65
65
  setLanguage('fi-FI');
66
66
  } }, "FI"),
67
- react_1.default.createElement("a", { className: "grading-navi-item", href: "", onClick: (e) => {
67
+ react_1.default.createElement("a", { className: "grading-navi-item", href: "", onClick: e => {
68
68
  e.preventDefault();
69
69
  setLanguage('sv-FI');
70
70
  } }, "SV"))),
@@ -84,7 +84,6 @@ function PreviewGrading() {
84
84
  setAnnotations(annotationsStorage.current[id]);
85
85
  }
86
86
  function saveAnnotations(annotations) {
87
- console.log(annotations);
88
87
  annotationsStorage.current[answerId] = annotations;
89
88
  setAnnotations({ ...annotationsStorage.current[answerId] });
90
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewGrading.js","sourceRoot":"","sources":["../src/PreviewGrading.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PreviewGrading.js","sourceRoot":"","sources":["../src/PreviewGrading.tsx"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ function initPuppeteer() {
11
11
  beforeAll(async () => {
12
12
  browser = await puppeteer_1.default.launch({
13
13
  headless: isInDebugMode ? false : 'new',
14
- args: ['--no-sandbox', '--disable-setuid-sandbox'],
14
+ args: ['--no-sandbox', '--disable-setuid-sandbox']
15
15
  });
16
16
  });
17
17
  afterAll(async () => {
@@ -32,7 +32,7 @@ async function loadExam(page, url) {
32
32
  }
33
33
  exports.loadExam = loadExam;
34
34
  async function delay(millis) {
35
- return new Promise((resolve) => setTimeout(resolve, millis));
35
+ return new Promise(resolve => setTimeout(resolve, millis));
36
36
  }
37
37
  exports.delay = delay;
38
38
  // Normally unused, but very useful for debugging
@@ -42,7 +42,7 @@ async function halt(page) {
42
42
  }
43
43
  exports.halt = halt;
44
44
  async function getInnerText(page, selector) {
45
- return page.$eval(selector, (e) => {
45
+ return page.$eval(selector, e => {
46
46
  if (e instanceof HTMLElement) {
47
47
  return e.innerText;
48
48
  }
@@ -53,7 +53,7 @@ async function getInnerText(page, selector) {
53
53
  }
54
54
  exports.getInnerText = getInnerText;
55
55
  async function getOuterHtml(page, selector) {
56
- return page.$eval(selector, (e) => {
56
+ return page.$eval(selector, e => {
57
57
  if (e instanceof HTMLElement) {
58
58
  return e.outerHTML;
59
59
  }
@@ -64,7 +64,7 @@ async function getOuterHtml(page, selector) {
64
64
  }
65
65
  exports.getOuterHtml = getOuterHtml;
66
66
  async function getTextContent(page, selector) {
67
- return page.$eval(selector, (e) => {
67
+ return page.$eval(selector, e => {
68
68
  if (e instanceof HTMLElement) {
69
69
  return e.textContent.trim();
70
70
  }
@@ -77,13 +77,13 @@ exports.getTextContent = getTextContent;
77
77
  async function getPageAndRequestErrors(page, filename) {
78
78
  const requestErrors = [];
79
79
  const pageErrors = [];
80
- page.on('requestfailed', (req) => {
80
+ page.on('requestfailed', req => {
81
81
  const errorText = req.failure().errorText;
82
82
  if (errorText !== 'net::ERR_ABORTED') {
83
83
  requestErrors.push(req.url());
84
84
  }
85
85
  });
86
- page.on('pageerror', (err) => pageErrors.push(err));
86
+ page.on('pageerror', err => pageErrors.push(err));
87
87
  await page.goto(`file://${filename}`, { waitUntil: 'networkidle0' });
88
88
  return { requestErrors, pageErrors };
89
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteerUtils.js","sourceRoot":"","sources":["../../__tests__/puppeteerUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puppeteerUtils.js","sourceRoot":"","sources":["../../__tests__/puppeteerUtils.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ describe('testCasTransition.ts - Allowing CAS software in a math exam', () => {
9
9
  let ctx;
10
10
  beforeAll(async () => {
11
11
  ctx = await (0, exam_engine_rendering_1.previewExam)((0, exam_engine_exams_1.resolveExam)('N/N.xml'), {
12
- casCountdownDurationSeconds: 2,
12
+ casCountdownDurationSeconds: 2
13
13
  });
14
14
  page = await createPage();
15
15
  });
@@ -39,7 +39,7 @@ describe('testCasTransition.ts - Allowing CAS software in a math exam', () => {
39
39
  // FIXME: Remove explicit type after Puppeteer 7.x has added better page.waitForFunction types.
40
40
  // https://github.com/puppeteer/puppeteer/issues/6884
41
41
  (innerVisible) => {
42
- const element = document.getElementById('1');
42
+ const element = document.getElementById('question-nr-1');
43
43
  return innerVisible ? element != null : element == null;
44
44
  }, undefined, visible);
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testCasTransition.js","sourceRoot":"","sources":["../../__tests__/testCasTransition.ts"],"names":[],"mappings":";;AAAA,iEAAuD;AACvD,yEAA2E;AAE3E,qDAA0D;AAE1D,QAAQ,CAAC,6DAA6D,EAAE,GAAG,EAAE;IAC3E,MAAM,UAAU,GAAG,IAAA,8BAAa,GAAE,CAAA;IAClC,IAAI,IAAU,CAAA;IACd,IAAI,GAAmB,CAAA;IAEvB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,IAAA,mCAAW,EAAC,IAAA,+BAAW,EAAC,SAAS,CAAC,EAAE;YAC9C,2BAA2B,EAAE,CAAC;SAC/B,CAAC,CAAA;QACF,IAAI,GAAG,MAAM,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAE7B,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1B,MAAM,yBAAyB,CAAC,KAAK,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;QAC3B,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4GAA4G,EAAE,KAAK,IAAI,EAAE;QAC1H,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1B,MAAM,yBAAyB,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,0BAA0B,EAAE,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,KAAK,UAAU,cAAc,CAAC,OAAgB;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,UAAU,yBAAyB,CAAC,OAAgB;QACvD,MAAM,IAAI,CAAC,eAAe;QACxB,+FAA+F;QAC/F,qDAAqD;QACrD,CAAC,YAAqB,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;YAC5C,OAAO,YAAY,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAA;QACzD,CAAC,EACD,SAAS,EACT,OAAO,CACR,CAAA;IACH,CAAC;IAED,KAAK,UAAU,0BAA0B;QACvC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE;YAC9B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAA;YACjF,IAAI,iBAAiB,EAAE;gBACrB,OAAO,iBAAiB,CAAC,WAAY,CAAC,IAAI,EAAE,KAAK,kBAAkB,CAAA;aACpE;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"testCasTransition.js","sourceRoot":"","sources":["../../__tests__/testCasTransition.ts"],"names":[],"mappings":";;AAAA,iEAAuD;AACvD,yEAA2E;AAE3E,qDAA0D;AAE1D,QAAQ,CAAC,6DAA6D,EAAE,GAAG,EAAE;IAC3E,MAAM,UAAU,GAAG,IAAA,8BAAa,GAAE,CAAA;IAClC,IAAI,IAAU,CAAA;IACd,IAAI,GAAmB,CAAA;IAEvB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,IAAA,mCAAW,EAAC,IAAA,+BAAW,EAAC,SAAS,CAAC,EAAE;YAC9C,2BAA2B,EAAE,CAAC;SAC/B,CAAC,CAAA;QACF,IAAI,GAAG,MAAM,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAE7B,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1B,MAAM,yBAAyB,CAAC,KAAK,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;QAC3B,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4GAA4G,EAAE,KAAK,IAAI,EAAE;QAC1H,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1B,MAAM,yBAAyB,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,0BAA0B,EAAE,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,KAAK,UAAU,cAAc,CAAC,OAAgB;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,UAAU,yBAAyB,CAAC,OAAgB;QACvD,MAAM,IAAI,CAAC,eAAe;QACxB,+FAA+F;QAC/F,qDAAqD;QACrD,CAAC,YAAqB,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;YACxD,OAAO,YAAY,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAA;QACzD,CAAC,EACD,SAAS,EACT,OAAO,CACR,CAAA;IACH,CAAC;IAED,KAAK,UAAU,0BAA0B;QACvC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE;YAC9B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAA;YACjF,IAAI,iBAAiB,EAAE;gBACrB,OAAO,iBAAiB,CAAC,WAAY,CAAC,IAAI,EAAE,KAAK,kBAAkB,CAAA;aACpE;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -27,10 +27,24 @@ describe('testChoiceAnswer.ts - choice answer interactions', () => {
27
27
  await (0, puppeteerUtils_1.loadExam)(page, ctx.url);
28
28
  expect(await getRadioButtonValue(page, 1)).toBe('93');
29
29
  });
30
+ it('a choice answer indicator has correct state in side navigation', async () => {
31
+ var _a, _b, _c, _d;
32
+ await (0, puppeteerUtils_1.loadExam)(page, ctx.url);
33
+ const indicator = await page.$('.sidebar-toc-container div[data-indicator-id="44"]');
34
+ const className = await ((_a = (await (indicator === null || indicator === void 0 ? void 0 : indicator.getProperty('className')))) === null || _a === void 0 ? void 0 : _a.jsonValue());
35
+ const indicatorValue = await ((_b = (await (indicator === null || indicator === void 0 ? void 0 : indicator.getProperty('innerHTML')))) === null || _b === void 0 ? void 0 : _b.jsonValue());
36
+ await setChoiceAnswer(page, 44, '207');
37
+ const classNameThen = await ((_c = (await (indicator === null || indicator === void 0 ? void 0 : indicator.getProperty('className')))) === null || _c === void 0 ? void 0 : _c.jsonValue());
38
+ const indicatorValueThen = await ((_d = (await (indicator === null || indicator === void 0 ? void 0 : indicator.getProperty('innerHTML')))) === null || _d === void 0 ? void 0 : _d.jsonValue());
39
+ expect(className).not.toContain('ok');
40
+ expect(indicatorValue).toContain('');
41
+ expect(classNameThen).toContain('ok');
42
+ expect(indicatorValueThen).toContain('');
43
+ });
30
44
  });
31
45
  async function getRadioButtonValue(page, questionId) {
32
46
  return page
33
- .$eval(`.e-radio-button[name="${questionId}"]:checked`, (e) => e.value)
47
+ .$eval(`.e-radio-button[name="${questionId}"]:checked`, e => e.value)
34
48
  .catch(() => undefined);
35
49
  }
36
50
  async function setChoiceAnswer(page, questionId, value) {
@@ -1 +1 @@
1
- {"version":3,"file":"testChoiceAnswer.js","sourceRoot":"","sources":["../../__tests__/testChoiceAnswer.ts"],"names":[],"mappings":";;AAAA,iEAAuD;AACvD,yEAA2E;AAE3E,qDAA0D;AAE1D,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAChE,MAAM,UAAU,GAAG,IAAA,8BAAa,GAAE,CAAA;IAClC,IAAI,IAAU,CAAA;IACd,IAAI,GAAmB,CAAA;IAEvB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,IAAA,mCAAW,EAAC,IAAA,+BAAW,EAAC,WAAW,CAAC,CAAC,CAAA;QACjD,IAAI,GAAG,MAAM,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAE7B,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACpC,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAErD,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACpC,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,KAAK,UAAU,mBAAmB,CAAC,IAAU,EAAE,UAAkB;IAC/D,OAAO,IAAI;SACR,KAAK,CAAC,yBAAyB,UAAU,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAE,CAAsB,CAAC,KAAK,CAAC;SAC5F,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AAC3B,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAU,EAAE,UAAkB,EAAE,KAAa;IAC1E,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,UAAU,aAAa,KAAK,IAAI,CAAC,CAAA;IAC3E,MAAM,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CAAA;AAC3D,CAAC"}
1
+ {"version":3,"file":"testChoiceAnswer.js","sourceRoot":"","sources":["../../__tests__/testChoiceAnswer.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,8 @@ describe('testGrading.ts', () => {
28
28
  await page.keyboard.type('1/x+2x^2');
29
29
  await page.keyboard.press('Escape');
30
30
  await page.waitForSelector('.save-indicator-text--saved');
31
+ });
32
+ beforeEach(async () => {
31
33
  await page.goto(`${ctx.url}/fi-FI/normal/grading`);
32
34
  await page.waitForSelector('.e-grading-answer');
33
35
  });
@@ -38,7 +40,7 @@ describe('testGrading.ts', () => {
38
40
  await navigateToAnswer('1.1');
39
41
  await expectText('.e-grading-answer-length', 'Vastauksen pituus: 19 merkkiä.');
40
42
  await page.waitForSelector('.e-grading-answer-max-length-surplus', HIDDEN);
41
- await drag(463, 150, 518, 150);
43
+ await drag(345, 150, 500, 150);
42
44
  await page.waitForSelector('.e-grading-answer-add-annotation', VISIBLE);
43
45
  await page.keyboard.type('+1p.');
44
46
  await page.keyboard.press('Enter');
@@ -50,41 +52,47 @@ describe('testGrading.ts', () => {
50
52
  await expectText('.e-grading-answer-length', `Vastauksen pituus: 368 merkkiä.${surplusText}`);
51
53
  await expectText('.e-grading-answer-max-length-surplus', surplusText);
52
54
  });
53
- it('creates annotations, modifies and removes them', async () => {
55
+ it('creates and modifies annotations', async () => {
54
56
  await navigateToAnswer('2');
55
- await drag(418, 210, 620, 210);
57
+ await drag(300, 210, 502, 210);
56
58
  await page.waitForSelector('.e-grading-answer-add-annotation', VISIBLE);
57
59
  await page.keyboard.type('first annotation message');
58
60
  await page.keyboard.press('Enter');
59
61
  await page.waitForSelector('.e-grading-answer-add-annotation', HIDDEN);
60
62
  await expectText('.e-annotation--censoring', 'vel eros lobortis, dignissim ');
61
63
  await expectAnnotationMessages(['+1', 'first annotation message']);
62
- await page.mouse.move(518, 210);
64
+ await page.mouse.move(500, 210);
63
65
  await page.waitForSelector('.e-grading-answer-tooltip', VISIBLE);
64
66
  await page.click('.e-grading-answer-tooltip-label');
65
67
  await page.waitForSelector('.e-grading-answer-add-annotation', VISIBLE);
66
- await page.keyboard.sendCharacter('2');
68
+ await page.keyboard.type('2');
67
69
  await page.keyboard.press('Enter');
68
70
  await expectAnnotationMessages(['+1', 'first annotation message2']);
69
- await page.mouse.move(518, 210);
70
- await page.click('.e-grading-answer-tooltip-remove');
71
- await expectAnnotationMessages(['+1']);
72
- await drag(360, 300, 370, 310);
71
+ await page.mouse.reset();
72
+ await page.waitForSelector('.e-grading-answer-tooltip', HIDDEN);
73
+ });
74
+ it('removes annotations', async () => {
75
+ await navigateToAnswer('2');
76
+ await drag(242, 300, 252, 310);
73
77
  await page.waitForSelector('.e-grading-answer-add-annotation', VISIBLE);
74
78
  await page.keyboard.type('img annotation msg');
75
79
  await page.keyboard.press('Enter');
76
80
  await page.waitForSelector('.e-grading-answer-add-annotation', HIDDEN);
77
81
  await page.waitForSelector('.e-annotation-wrapper .e-annotation--censoring', VISIBLE);
78
82
  await expectAnnotationMessages(['+1', 'img annotation msg']);
83
+ await page.hover('.e-annotation--censoring');
84
+ await page.waitForSelector('.e-grading-answer-tooltip', VISIBLE);
85
+ await page.click('.e-grading-answer-tooltip-remove');
86
+ await expectAnnotationMessages(['+1']);
79
87
  });
80
88
  async function expectText(selector, text) {
81
89
  const element = await page.waitForSelector(selector, VISIBLE);
82
- const textContent = await (element === null || element === void 0 ? void 0 : element.evaluate((el) => el.textContent));
90
+ const textContent = await (element === null || element === void 0 ? void 0 : element.evaluate(el => el.textContent));
83
91
  expect(textContent).toBe(text);
84
92
  }
85
93
  async function expectAnnotationMessages(expected) {
86
94
  const annotationList = await page.waitForSelector('.e-annotation-list', VISIBLE);
87
- const listItems = await (annotationList === null || annotationList === void 0 ? void 0 : annotationList.evaluate((el) => Array.from(el.querySelectorAll('li')).map((li) => li.textContent)));
95
+ const listItems = await (annotationList === null || annotationList === void 0 ? void 0 : annotationList.evaluate(el => Array.from(el.querySelectorAll('li')).map(li => li.textContent)));
88
96
  expect(listItems).toEqual(expected);
89
97
  }
90
98
  async function drag(x1, y1, x2, y2) {
@@ -100,6 +108,7 @@ describe('testGrading.ts', () => {
100
108
  const navi = await page.waitForSelector('.grading-navi');
101
109
  const button = await (navi === null || navi === void 0 ? void 0 : navi.waitForSelector(`text/${displayNumber}`));
102
110
  await (button === null || button === void 0 ? void 0 : button.click());
111
+ await page.waitForSelector('.e-grading-answer', VISIBLE);
103
112
  }
104
113
  });
105
114
  //# sourceMappingURL=testGrading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testGrading.js","sourceRoot":"","sources":["../../__tests__/testGrading.ts"],"names":[],"mappings":";;AAAA,iEAAuD;AACvD,yEAA2E;AAE3E,qDAA0D;AAE1D,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AACjC,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AAC/B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,MAAM,UAAU,GAAG,IAAA,8BAAa,GAAE,CAAA;IAClC,IAAI,IAAU,CAAA;IACd,IAAI,GAAmB,CAAA;IAEvB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,IAAA,mCAAW,EAAC,IAAA,+BAAW,EAAC,SAAS,CAAC,CAAC,CAAA;QAC/C,IAAI,GAAG,MAAM,UAAU,EAAE,CAAA;QACzB,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,MAAM,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAA;QACtC,MAAM,MAAM,CAAC,CAAC,EAAE,+EAA+E,CAAC,CAAA;QAChG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,MAAM,CAAC,CAAC,EAAE,yFAAyF,CAAC,CAAA;QAC1G,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,MAAM,CAAC,CAAC,EAAE,4FAA4F,CAAC,CAAA;QAC7G,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,MAAM,CAAC,CAAC,EAAE,gGAAgG,CAAC,CAAA;QACjH,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,MAAM,CAAC,CAAC,EAAE,wFAAwF,CAAC,CAAA;QACzG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC3C,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEnC,MAAM,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CAAA;QACzD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAA;QAClD,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAC7B,MAAM,UAAU,CAAC,0BAA0B,EAAE,gCAAgC,CAAC,CAAA;QAC9E,MAAM,IAAI,CAAC,eAAe,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAA;QAC1E,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,eAAe,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAA;QACvE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,wBAAwB,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,WAAW,GAAG,sDAAsD,CAAA;QAC1E,MAAM,UAAU,CAAC,0BAA0B,EAAE,kCAAkC,WAAW,EAAE,CAAC,CAAA;QAC7F,MAAM,UAAU,CAAC,sCAAsC,EAAE,WAAW,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,eAAe,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAA;QACvE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,IAAI,CAAC,eAAe,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAA;QACtE,MAAM,UAAU,CAAC,0BAA0B,EAAE,+BAA+B,CAAC,CAAA;QAC7E,MAAM,wBAAwB,CAAC,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAA;QAElE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAA;QAChE,MAAM,IAAI,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACnD,MAAM,IAAI,CAAC,eAAe,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAA;QACvE,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,wBAAwB,CAAC,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAA;QAEnE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACpD,MAAM,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAEtC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,eAAe,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAA;QACvE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAC9C,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,IAAI,CAAC,eAAe,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAA;QACtE,MAAM,IAAI,CAAC,eAAe,CAAC,gDAAgD,EAAE,OAAO,CAAC,CAAA;QACrF,MAAM,wBAAwB,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,IAAY;QACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC7D,MAAM,WAAW,GAAG,MAAM,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA,CAAA;QACnE,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,KAAK,UAAU,wBAAwB,CAAC,QAAkB;QACxD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;QAChF,MAAM,SAAS,GAAG,MAAM,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAClE,CAAA,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;QAChE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QACvB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAA;IACvB,CAAC;IACD,KAAK,UAAU,MAAM,CAAC,UAAkB,EAAE,IAAY;QACpD,MAAM,IAAI,CAAC,IAAI,CAAC,kCAAkC,UAAU,IAAI,EAAE,IAAI,CAAC,CAAA;IACzE,CAAC;IACD,KAAK,UAAU,gBAAgB,CAAC,aAAqB;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,MAAM,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,CAAC,QAAQ,aAAa,EAAE,CAAC,CAAA,CAAA;QACnE,MAAM,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE,CAAA,CAAA;IACvB,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"testGrading.js","sourceRoot":"","sources":["../../__tests__/testGrading.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@ describe('testGradingInstructionsGeneration.ts - grading instructions generation
13
13
  let page;
14
14
  let gradingInstructionHtmlFile;
15
15
  beforeAll(async () => {
16
- const tmpdir = await tmp_promise_1.default.dir().then((r) => r.path);
16
+ const tmpdir = await tmp_promise_1.default.dir().then(r => r.path);
17
17
  const [outputDirectory] = await (0, exam_engine_rendering_1.createOfflineExam)((0, exam_engine_exams_1.resolveExam)('A_E/A_E.xml'), tmpdir, {
18
- type: 'grading-instructions',
18
+ type: 'grading-instructions'
19
19
  });
20
20
  gradingInstructionHtmlFile = path_1.default.resolve(outputDirectory, 'grading-instructions.html');
21
21
  page = await createPage();
@@ -1 +1 @@
1
- {"version":3,"file":"testGradingInstructionsGeneration.js","sourceRoot":"","sources":["../../__tests__/testGradingInstructionsGeneration.ts"],"names":[],"mappings":";;;;;AAAA,iEAAuD;AACvD,yEAAiE;AACjE,gDAAuB;AAEvB,8DAA6B;AAC7B,qDAAyE;AAEzE,QAAQ,CAAC,wEAAwE,EAAE,GAAG,EAAE;IACtF,MAAM,UAAU,GAAG,IAAA,8BAAa,GAAE,CAAA;IAClC,IAAI,IAAU,CAAA;IACd,IAAI,0BAAkC,CAAA;IAEtC,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,MAAM,GAAG,MAAM,qBAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,IAAA,yCAAiB,EAAC,IAAA,+BAAW,EAAC,aAAa,CAAC,EAAE,MAAM,EAAE;YACpF,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAA;QACF,0BAA0B,GAAG,cAAI,CAAC,OAAO,CAAC,eAAe,EAAE,2BAA2B,CAAC,CAAA;QACvF,IAAI,GAAG,MAAM,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,2BAA2B,CAAC,0BAA0B,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,KAAK,UAAU,2BAA2B,CAAC,QAAgB;QACzD,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,wCAAuB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACnF,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"testGradingInstructionsGeneration.js","sourceRoot":"","sources":["../../__tests__/testGradingInstructionsGeneration.ts"],"names":[],"mappings":";;;;;AAAA,iEAAuD;AACvD,yEAAiE;AACjE,gDAAuB;AAEvB,8DAA6B;AAC7B,qDAAyE;AAEzE,QAAQ,CAAC,wEAAwE,EAAE,GAAG,EAAE;IACtF,MAAM,UAAU,GAAG,IAAA,8BAAa,GAAE,CAAA;IAClC,IAAI,IAAU,CAAA;IACd,IAAI,0BAAkC,CAAA;IAEtC,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,MAAM,GAAG,MAAM,qBAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,IAAA,yCAAiB,EAAC,IAAA,+BAAW,EAAC,aAAa,CAAC,EAAE,MAAM,EAAE;YACpF,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAA;QACF,0BAA0B,GAAG,cAAI,CAAC,OAAO,CAAC,eAAe,EAAE,2BAA2B,CAAC,CAAA;QACvF,IAAI,GAAG,MAAM,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,2BAA2B,CAAC,0BAA0B,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,KAAK,UAAU,2BAA2B,CAAC,QAAgB;QACzD,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,wCAAuB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACnF,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -14,7 +14,7 @@ describe('testOfflineGeneration.ts - Offline version generation', () => {
14
14
  let examHtmlFile;
15
15
  let attachmentsHtmlFile;
16
16
  beforeAll(async () => {
17
- const tmpdir = await tmp_promise_1.default.dir().then((r) => r.path);
17
+ const tmpdir = await tmp_promise_1.default.dir().then(r => r.path);
18
18
  const [outputDirectory] = await (0, exam_engine_rendering_1.createOfflineExam)((0, exam_engine_exams_1.resolveExam)('A_E/A_E.xml'), tmpdir);
19
19
  examHtmlFile = path_1.default.resolve(outputDirectory, 'index.html');
20
20
  attachmentsHtmlFile = path_1.default.resolve(outputDirectory, 'attachments/index.html');
@@ -1 +1 @@
1
- {"version":3,"file":"testOfflineGeneration.js","sourceRoot":"","sources":["../../__tests__/testOfflineGeneration.ts"],"names":[],"mappings":";;;;;AAAA,iEAAuD;AACvD,yEAAiE;AACjE,gDAAuB;AAEvB,8DAA6B;AAC7B,qDAAyE;AAEzE,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACrE,MAAM,UAAU,GAAG,IAAA,8BAAa,GAAE,CAAA;IAClC,IAAI,IAAU,CAAA;IACd,IAAI,YAAoB,CAAA;IACxB,IAAI,mBAA2B,CAAA;IAE/B,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,MAAM,GAAG,MAAM,qBAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,IAAA,yCAAiB,EAAC,IAAA,+BAAW,EAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAA;QACrF,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;QAC1D,mBAAmB,GAAG,cAAI,CAAC,OAAO,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAA;QAC7E,IAAI,GAAG,MAAM,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,2BAA2B,CAAC,YAAY,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,2BAA2B,CAAC,mBAAmB,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,KAAK,UAAU,2BAA2B,CAAC,QAAgB;QACzD,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,wCAAuB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACnF,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"testOfflineGeneration.js","sourceRoot":"","sources":["../../__tests__/testOfflineGeneration.ts"],"names":[],"mappings":";;;;;AAAA,iEAAuD;AACvD,yEAAiE;AACjE,gDAAuB;AAEvB,8DAA6B;AAC7B,qDAAyE;AAEzE,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACrE,MAAM,UAAU,GAAG,IAAA,8BAAa,GAAE,CAAA;IAClC,IAAI,IAAU,CAAA;IACd,IAAI,YAAoB,CAAA;IACxB,IAAI,mBAA2B,CAAA;IAE/B,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,MAAM,GAAG,MAAM,qBAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,IAAA,yCAAiB,EAAC,IAAA,+BAAW,EAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAA;QACrF,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;QAC1D,mBAAmB,GAAG,cAAI,CAAC,OAAO,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAA;QAC7E,IAAI,GAAG,MAAM,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,2BAA2B,CAAC,YAAY,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,2BAA2B,CAAC,mBAAmB,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,KAAK,UAAU,2BAA2B,CAAC,QAAgB;QACzD,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,wCAAuB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACnF,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=testSidebarNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testSidebarNavigation.d.ts","sourceRoot":"","sources":["../../__tests__/testSidebarNavigation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const exam_engine_exams_1 = require("@digabi/exam-engine-exams");
4
+ const exam_engine_rendering_1 = require("@digabi/exam-engine-rendering");
5
+ const puppeteerUtils_1 = require("./puppeteerUtils");
6
+ describe('testSidebarNavigation.ts — Sidebar navigation functionality', () => {
7
+ const createPage = (0, puppeteerUtils_1.initPuppeteer)();
8
+ let page;
9
+ let ctx;
10
+ beforeAll(async () => {
11
+ ctx = await (0, exam_engine_rendering_1.previewExam)((0, exam_engine_exams_1.resolveExam)('GE/GE.xml'));
12
+ page = await createPage();
13
+ });
14
+ afterAll(async () => {
15
+ await ctx.close();
16
+ });
17
+ it('shows an exam error when exam has too many questions answered', async () => {
18
+ await (0, puppeteerUtils_1.loadExam)(page, ctx.url);
19
+ const errorMarkLocator = '.sidebar-toc-container .error-mark.exam';
20
+ let errorMark = await page.$(errorMarkLocator);
21
+ expect(errorMark).toBeFalsy();
22
+ await type('testivastaus', 21);
23
+ await type('testivastaus', 23);
24
+ await type('testivastaus', 26);
25
+ await type('testivastaus', 32);
26
+ await type('testivastaus', 37);
27
+ await type('testivastaus', 41);
28
+ errorMark = await page.waitForSelector(errorMarkLocator);
29
+ expect(errorMark).toBeTruthy();
30
+ });
31
+ it('shows a section error when section has too many questions answered', async () => {
32
+ await (0, puppeteerUtils_1.loadExam)(page, ctx.url);
33
+ const errorMarkLocator = '.sidebar-toc-container li[data-section-id="2"] .error-mark';
34
+ await type('testivastaus', 21);
35
+ await type('testivastaus', 23);
36
+ let errorMark = await page.$(errorMarkLocator);
37
+ expect(errorMark).toBeFalsy();
38
+ await type('testivastaus', 26);
39
+ errorMark = await page.waitForSelector(errorMarkLocator);
40
+ expect(errorMark).toBeTruthy();
41
+ });
42
+ it('navigates to question when clicking on it in sidebar', async () => {
43
+ await (0, puppeteerUtils_1.loadExam)(page, ctx.url);
44
+ const questionNameInSidebar = '.sidebar-toc-container li[data-list-number="6."]';
45
+ const questionInExam = '.e-exam #question-title-6';
46
+ const questionSelector = await page.waitForSelector(questionInExam);
47
+ expect(await (questionSelector === null || questionSelector === void 0 ? void 0 : questionSelector.isIntersectingViewport())).not.toBe(true);
48
+ await page.click(questionNameInSidebar);
49
+ expect(await (questionSelector === null || questionSelector === void 0 ? void 0 : questionSelector.isIntersectingViewport())).toBe(true);
50
+ });
51
+ const type = (text, questionId = 89) => page.type(`.text-answer[data-question-id="${questionId}"]`, text);
52
+ });
53
+ //# sourceMappingURL=testSidebarNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testSidebarNavigation.js","sourceRoot":"","sources":["../../__tests__/testSidebarNavigation.ts"],"names":[],"mappings":";;AAAA,iEAAuD;AACvD,yEAA2E;AAE3E,qDAA0D;AAE1D,QAAQ,CAAC,6DAA6D,EAAE,GAAG,EAAE;IAC3E,MAAM,UAAU,GAAG,IAAA,8BAAa,GAAE,CAAA;IAClC,IAAI,IAAU,CAAA;IACd,IAAI,GAAmB,CAAA;IAEvB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,IAAA,mCAAW,EAAC,IAAA,+BAAW,EAAC,WAAW,CAAC,CAAC,CAAA;QACjD,IAAI,GAAG,MAAM,UAAU,EAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAE7B,MAAM,gBAAgB,GAAG,yCAAyC,CAAA;QAClE,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;QAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAA;QAE7B,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC9B,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;QACxD,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAE7B,MAAM,gBAAgB,GAAG,4DAA4D,CAAA;QAErF,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC9B,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;QAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAA;QAE7B,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC9B,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;QACxD,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAE7B,MAAM,qBAAqB,GAAG,kDAAkD,CAAA;QAChF,MAAM,cAAc,GAAG,2BAA2B,CAAA;QAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;QAEnE,MAAM,CAAC,MAAM,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,sBAAsB,EAAE,CAAA,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvE,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACvC,MAAM,CAAC,MAAM,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,sBAAsB,EAAE,CAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,UAAU,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,kCAAkC,UAAU,IAAI,EAAE,IAAI,CAAC,CAAA;AACnH,CAAC,CAAC,CAAA"}