@digabi/exam-engine-rendering 19.7.1 → 19.8.0-alpha.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.
- package/dist/Grading.d.ts +4 -0
- package/dist/Grading.d.ts.map +1 -0
- package/dist/Grading.js +109 -0
- package/dist/Grading.js.map +1 -0
- package/dist/PreviewGrading.js +9 -9
- package/dist/PreviewGrading.js.map +1 -1
- package/dist/__tests__/puppeteerUtils.js +7 -7
- package/dist/__tests__/puppeteerUtils.js.map +1 -1
- package/dist/__tests__/testCasTransition.js +1 -1
- package/dist/__tests__/testChoiceAnswer.js +15 -1
- package/dist/__tests__/testChoiceAnswer.js.map +1 -1
- package/dist/__tests__/testGrading.js +20 -11
- package/dist/__tests__/testGrading.js.map +1 -1
- package/dist/__tests__/testGradingInstructionsGeneration.js +2 -2
- package/dist/__tests__/testGradingInstructionsGeneration.js.map +1 -1
- package/dist/__tests__/testOfflineGeneration.js +1 -1
- package/dist/__tests__/testOfflineGeneration.js.map +1 -1
- package/dist/__tests__/testSidebarNavigation.d.ts +2 -0
- package/dist/__tests__/testSidebarNavigation.d.ts.map +1 -0
- package/dist/__tests__/testSidebarNavigation.js +53 -0
- package/dist/__tests__/testSidebarNavigation.js.map +1 -0
- package/dist/__tests__/testTextAnswers.js +69 -0
- package/dist/__tests__/testTextAnswers.js.map +1 -1
- package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
- package/dist/createOfflineExam.js +8 -8
- package/dist/createOfflineExam.js.map +1 -1
- package/dist/exam-loader.js +3 -3
- package/dist/exam-loader.js.map +1 -1
- package/dist/getOfflineWebpackConfig.js +18 -18
- package/dist/getPreviewWebpackConfig.js +12 -12
- package/dist/getWebpackConfig.js +18 -18
- package/dist/offline.js +4 -3
- package/dist/offline.js.map +1 -1
- package/dist/postcss.config.d.ts +1 -1
- package/dist/postcss.config.js +1 -1
- package/dist/preview.js +22 -19
- package/dist/preview.js.map +1 -1
- package/dist/previewExam.js +1 -1
- package/dist/previewExam.js.map +1 -1
- package/dist/utils/indexedDBExamServerAPI.js +3 -3
- package/dist/utils/indexedDBExamServerAPI.js.map +1 -1
- package/dist/utils/indexedDBGraringServerAPI.d.ts +3 -0
- package/dist/utils/indexedDBGraringServerAPI.d.ts.map +1 -0
- package/dist/utils/indexedDBGraringServerAPI.js +33 -0
- package/dist/utils/indexedDBGraringServerAPI.js.map +1 -0
- package/dist/utils/noopExamServerAPI.js +2 -2
- package/dist/utils/noopExamServerAPI.js.map +1 -1
- package/package.json +9 -9
@@ -38,19 +38,88 @@ describe('testTextAnswers.ts — Text answer interactions', () => {
|
|
38
38
|
await expectToBeSaved();
|
39
39
|
});
|
40
40
|
it('shows the error indicator when too many answers', async () => {
|
41
|
+
var _a, _b;
|
41
42
|
await (0, puppeteerUtils_1.loadExam)(page, ctx.url);
|
42
43
|
await expectErrorIndicatorToDisappear();
|
43
44
|
await type('oikea vastaus', 89);
|
44
45
|
await type('oikea vastaus 2', 90);
|
45
46
|
await expectErrorIndicator('Tehtävä 20: Vastaa joko kohtaan 20.1 tai 20.2.');
|
47
|
+
const questionName = await page.$('.sidebar-toc-container li[data-list-number="20."]');
|
48
|
+
const className = await ((_a = (await (questionName === null || questionName === void 0 ? void 0 : questionName.getProperty('className')))) === null || _a === void 0 ? void 0 : _a.jsonValue());
|
49
|
+
expect(className).toContain('error');
|
46
50
|
await clearInput(90);
|
47
51
|
await expectErrorIndicatorToDisappear();
|
52
|
+
const classNameThen = await ((_b = (await (questionName === null || questionName === void 0 ? void 0 : questionName.getProperty('className')))) === null || _b === void 0 ? void 0 : _b.jsonValue());
|
53
|
+
expect(classNameThen).not.toContain('error');
|
48
54
|
});
|
49
55
|
it('shows the error indicator when answer is too long', async () => {
|
56
|
+
var _a;
|
50
57
|
await (0, puppeteerUtils_1.loadExam)(page, ctx.url);
|
51
58
|
await expectErrorIndicatorToDisappear();
|
52
59
|
await type('o'.repeat(241), 89);
|
53
60
|
await expectErrorIndicator('Tehtävä 20.1: Vastaus on liian pitkä.');
|
61
|
+
const indicator = await page.$('.sidebar-toc-container div[data-indicator-id="89"]');
|
62
|
+
const className = await ((_a = (await (indicator === null || indicator === void 0 ? void 0 : indicator.getProperty('className')))) === null || _a === void 0 ? void 0 : _a.jsonValue());
|
63
|
+
expect(className).toContain('error');
|
64
|
+
});
|
65
|
+
it('opens rich text answer in writer mode, and exits', async () => {
|
66
|
+
var _a, _b;
|
67
|
+
await (0, puppeteerUtils_1.loadExam)(page, ctx.url);
|
68
|
+
const body = await page.$('body');
|
69
|
+
const fullScreenSelector = 'div[data-full-screen-id="1.2"]';
|
70
|
+
const answerText = 'vastaukseni';
|
71
|
+
await openWriterMode(page);
|
72
|
+
await type(answerText, 2);
|
73
|
+
await page.click(`${fullScreenSelector} .expand.close`);
|
74
|
+
const bodyClass = await ((_a = (await (body === null || body === void 0 ? void 0 : body.getProperty('className')))) === null || _a === void 0 ? void 0 : _a.jsonValue());
|
75
|
+
expect(bodyClass).not.toContain('writer-mode');
|
76
|
+
const fullScreen = await page.$(fullScreenSelector);
|
77
|
+
expect(fullScreen).toBeFalsy();
|
78
|
+
const answerBox = await page.$('.text-answer[data-question-id="2"]');
|
79
|
+
const answer = await ((_b = (await (answerBox === null || answerBox === void 0 ? void 0 : answerBox.getProperty('innerHTML')))) === null || _b === void 0 ? void 0 : _b.jsonValue());
|
80
|
+
expect(answer).toBe(answerText);
|
81
|
+
});
|
82
|
+
it('ESC exits writer mode', async () => {
|
83
|
+
var _a;
|
84
|
+
await (0, puppeteerUtils_1.loadExam)(page, ctx.url);
|
85
|
+
const body = await page.$('body');
|
86
|
+
const fullScreenSelector = 'div[data-full-screen-id="1.2"]';
|
87
|
+
await openWriterMode(page);
|
88
|
+
await page.keyboard.press('Escape');
|
89
|
+
const bodyClass = await ((_a = (await (body === null || body === void 0 ? void 0 : body.getProperty('className')))) === null || _a === void 0 ? void 0 : _a.jsonValue());
|
90
|
+
expect(bodyClass).not.toContain('writer-mode');
|
91
|
+
const fullScreen = await page.$(fullScreenSelector);
|
92
|
+
expect(fullScreen).toBeFalsy();
|
93
|
+
});
|
94
|
+
const openWriterMode = async (page) => {
|
95
|
+
var _a;
|
96
|
+
await page.click('.text-answer[data-question-id="2"] + .expand');
|
97
|
+
const body = await page.$('body');
|
98
|
+
const fullScreenSelector = 'div[data-full-screen-id="1.2"]';
|
99
|
+
const bodyClass = await ((_a = (await (body === null || body === void 0 ? void 0 : body.getProperty('className')))) === null || _a === void 0 ? void 0 : _a.jsonValue());
|
100
|
+
expect(bodyClass).toContain('writer-mode');
|
101
|
+
const fullScreen = await page.$(fullScreenSelector);
|
102
|
+
expect(fullScreen).toBeTruthy();
|
103
|
+
};
|
104
|
+
it('a text answer indicator has correct state in side navigation', async () => {
|
105
|
+
var _a, _b, _c, _d, _e, _f;
|
106
|
+
await (0, puppeteerUtils_1.loadExam)(page, ctx.url);
|
107
|
+
await clearInput(90);
|
108
|
+
const indicator = await page.$('.sidebar-toc-container div[data-indicator-id="90"]');
|
109
|
+
const className = await ((_a = (await (indicator === null || indicator === void 0 ? void 0 : indicator.getProperty('className')))) === null || _a === void 0 ? void 0 : _a.jsonValue());
|
110
|
+
const indicatorValue = await ((_b = (await (indicator === null || indicator === void 0 ? void 0 : indicator.getProperty('innerHTML')))) === null || _b === void 0 ? void 0 : _b.jsonValue());
|
111
|
+
await type('testivastaus', 90);
|
112
|
+
const classNameThen = await ((_c = (await (indicator === null || indicator === void 0 ? void 0 : indicator.getProperty('className')))) === null || _c === void 0 ? void 0 : _c.jsonValue());
|
113
|
+
const indicatorValueThen = await ((_d = (await (indicator === null || indicator === void 0 ? void 0 : indicator.getProperty('innerHTML')))) === null || _d === void 0 ? void 0 : _d.jsonValue());
|
114
|
+
await clearInput(90);
|
115
|
+
const classNameFinally = await ((_e = (await (indicator === null || indicator === void 0 ? void 0 : indicator.getProperty('className')))) === null || _e === void 0 ? void 0 : _e.jsonValue());
|
116
|
+
const indicatorValueFinally = await ((_f = (await (indicator === null || indicator === void 0 ? void 0 : indicator.getProperty('innerHTML')))) === null || _f === void 0 ? void 0 : _f.jsonValue());
|
117
|
+
expect(className).not.toContain('ok');
|
118
|
+
expect(indicatorValue).toContain('');
|
119
|
+
expect(classNameThen).toContain('ok');
|
120
|
+
expect(indicatorValueThen).toContain('12');
|
121
|
+
expect(classNameFinally).not.toContain('ok');
|
122
|
+
expect(indicatorValueFinally).toContain('');
|
54
123
|
});
|
55
124
|
const expectErrorIndicator = async (text) => {
|
56
125
|
await page.waitForFunction((text) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"testTextAnswers.js","sourceRoot":"","sources":["../../__tests__/testTextAnswers.ts"],"names":[],"mappings":";;AAAA,iEAAuD;AACvD,yEAA2E;AAE3E,qDAA0E;AAE1E,QAAQ,CAAC,+CAA+C,EAAE,GAAG,EAAE;IAC7D,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,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAE7B,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,MAAM,wBAAwB,CAAC,CAAC,CAAC,CAAA;QAEjC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,MAAM,wBAAwB,CAAC,CAAC,CAAC,CAAA;QAEjC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,MAAM,wBAAwB,CAAC,CAAC,CAAC,CAAA;QAEjC,MAAM,UAAU,EAAE,CAAA;QAClB,MAAM,wBAAwB,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAE7B,MAAM,6BAA6B,EAAE,CAAA;QAErC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,MAAM,kBAAkB,EAAE,CAAA;QAC1B,MAAM,eAAe,EAAE,CAAA;QAEvB,MAAM,IAAI,CAAC,WAAW,CAAC,CAAA;QACvB,MAAM,kBAAkB,EAAE,CAAA;QAC1B,MAAM,eAAe,EAAE,CAAA;QAEvB,MAAM,IAAA,yBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,eAAe,EAAE,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE
|
1
|
+
{"version":3,"file":"testTextAnswers.js","sourceRoot":"","sources":["../../__tests__/testTextAnswers.ts"],"names":[],"mappings":"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"}
|