@digabi/exam-engine-core 23.8.1 → 23.8.2
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/__tests__/playwright/exam/Exam.test.js +17 -18
- package/dist/__tests__/playwright/exam/Exam.test.js.map +1 -1
- package/dist/__tests__/playwright/stories/exam/Exam.story.d.ts +1 -5
- package/dist/__tests__/playwright/stories/exam/Exam.story.d.ts.map +1 -1
- package/dist/__tests__/playwright/stories/exam/Exam.story.js +7 -45
- package/dist/__tests__/playwright/stories/exam/Exam.story.js.map +1 -1
- package/dist/__tests__/playwright/utils/utils.d.ts +1 -1
- package/dist/__tests__/playwright/utils/utils.d.ts.map +1 -1
- package/dist/__tests__/playwright/utils/utils.js +2 -2
- package/dist/__tests__/playwright/utils/utils.js.map +1 -1
- package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
- package/dist/components/attachments/Attachments.js +1 -1
- package/dist/components/attachments/Attachments.js.map +1 -1
- package/dist/components/exam/Exam.d.ts.map +1 -1
- package/dist/components/exam/Exam.js +10 -1
- package/dist/components/exam/Exam.js.map +1 -1
- package/dist/components/shared/QuestionNumber.d.ts +1 -1
- package/dist/components/shared/QuestionNumber.d.ts.map +1 -1
- package/dist/components/shared/QuestionNumber.js +4 -1
- package/dist/components/shared/QuestionNumber.js.map +1 -1
- package/dist/createRenderChildNodes.d.ts +2 -0
- package/dist/createRenderChildNodes.d.ts.map +1 -1
- package/dist/createRenderChildNodes.js +4 -3
- package/dist/createRenderChildNodes.js.map +1 -1
- package/dist/i18n/fi-FI.d.ts +1 -0
- package/dist/i18n/fi-FI.d.ts.map +1 -1
- package/dist/i18n/fi-FI.js +1 -0
- package/dist/i18n/fi-FI.js.map +1 -1
- package/dist/i18n/sv-FI.d.ts.map +1 -1
- package/dist/i18n/sv-FI.js +1 -0
- package/dist/i18n/sv-FI.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/main-bundle.js +1 -1
- package/package.json +3 -3
@@ -3,28 +3,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
const react_1 = __importDefault(require("react"));
|
7
6
|
const experimental_ct_react_1 = require("@playwright/experimental-ct-react");
|
8
|
-
const
|
7
|
+
const react_1 = __importDefault(require("react"));
|
9
8
|
const Exam_story_1 = require("../stories/exam/Exam.story");
|
10
|
-
|
11
|
-
|
9
|
+
const utils_1 = require("../utils/utils");
|
10
|
+
experimental_ct_react_1.test.describe.configure({ mode: 'serial' });
|
11
|
+
experimental_ct_react_1.test.describe('Exam', () => {
|
12
|
+
let masteredExam_SC;
|
13
|
+
let masteredExamNoAttachments;
|
12
14
|
experimental_ct_react_1.test.beforeAll(async () => {
|
13
|
-
|
15
|
+
masteredExam_SC = await (0, utils_1.setupMasteredExam)();
|
16
|
+
masteredExamNoAttachments = await (0, utils_1.setupMasteredExam)('test/no_attachments.xml');
|
17
|
+
});
|
18
|
+
(0, experimental_ct_react_1.test)('exam without attachments contains notification', async ({ mount }) => {
|
19
|
+
const component = await mount(react_1.default.createElement(Exam_story_1.ExamStory, { masteredExam: masteredExamNoAttachments }));
|
20
|
+
const notification = component.locator('.notification').getByText('Tämä koe ei sisällä aineistoja');
|
21
|
+
await (0, experimental_ct_react_1.expect)(notification).toBeVisible();
|
14
22
|
});
|
15
|
-
(0, experimental_ct_react_1.test)('
|
16
|
-
|
17
|
-
const
|
18
|
-
|
19
|
-
} }));
|
20
|
-
const annottatableElement = component.locator('.e-annotatable').first();
|
21
|
-
const textbox = component.locator('.comment-content');
|
22
|
-
await (0, experimental_ct_react_1.expect)(annottatableElement).toBeVisible();
|
23
|
-
await (0, utils_1.annotateText)(annottatableElement, page);
|
24
|
-
await (0, experimental_ct_react_1.expect)(component.getByTestId('e-popup')).toBeVisible();
|
25
|
-
await textbox.fill('New comment');
|
26
|
-
await component.getByText('Tallenna').click();
|
27
|
-
(0, experimental_ct_react_1.expect)(callbackArg).toBe('New comment');
|
23
|
+
(0, experimental_ct_react_1.test)('exam with attachments contains no notification', async ({ mount }) => {
|
24
|
+
const component = await mount(react_1.default.createElement(Exam_story_1.ExamStory, { masteredExam: masteredExam_SC }));
|
25
|
+
const notification = component.locator('.notification').getByText('Tämä koe ei sisällä aineistoja');
|
26
|
+
await (0, experimental_ct_react_1.expect)(notification).not.toBeVisible();
|
28
27
|
});
|
29
28
|
});
|
30
29
|
//# sourceMappingURL=Exam.test.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Exam.test.js","sourceRoot":"","sources":["../../../../__tests__/playwright/exam/Exam.test.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,
|
1
|
+
{"version":3,"file":"Exam.test.js","sourceRoot":"","sources":["../../../../__tests__/playwright/exam/Exam.test.tsx"],"names":[],"mappings":";;;;;AAAA,6EAAgE;AAChE,kDAAyB;AACzB,2DAAsD;AACtD,0CAAkD;AAElD,4BAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;AAE3C,4BAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACzB,IAAI,eAA8D,CAAA;IAClE,IAAI,yBAAwE,CAAA;IAE5E,4BAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QACxB,eAAe,GAAG,MAAM,IAAA,yBAAiB,GAAE,CAAA;QAC3C,yBAAyB,GAAG,MAAM,IAAA,yBAAiB,EAAC,yBAAyB,CAAC,CAAA;IAChF,CAAC,CAAC,CAAA;IAEF,IAAA,4BAAI,EAAC,gDAAgD,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACzE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,8BAAC,sBAAS,IAAC,YAAY,EAAE,yBAAyB,GAAI,CAAC,CAAA;QACrF,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAA;QACnG,MAAM,IAAA,8BAAM,EAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,IAAA,4BAAI,EAAC,gDAAgD,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACzE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,8BAAC,sBAAS,IAAC,YAAY,EAAE,eAAe,GAAI,CAAC,CAAA;QAC3E,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAA;QACnG,MAAM,IAAA,8BAAM,EAAC,YAAY,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAA;IAC9C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
@@ -1,11 +1,7 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import { MasteringResult } from '@digabi/exam-engine-mastering';
|
3
|
-
import
|
2
|
+
import React from 'react';
|
4
3
|
interface ExamStoryProps {
|
5
4
|
masteredExam: MasteringResult;
|
6
|
-
annotations?: ExamAnnotation[];
|
7
|
-
onClickAnnotation?: (e: React.MouseEvent<HTMLElement, MouseEvent>, annotationId: number) => void;
|
8
|
-
onSaveAnnotation?: (annotation: NewExamAnnotation, comment: string) => void;
|
9
5
|
}
|
10
6
|
export declare const ExamStory: React.FC<ExamStoryProps>;
|
11
7
|
export {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Exam.story.d.ts","sourceRoot":"","sources":["../../../../../__tests__/playwright/stories/exam/Exam.story.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"Exam.story.d.ts","sourceRoot":"","sources":["../../../../../__tests__/playwright/stories/exam/Exam.story.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,UAAU,cAAc;IACtB,YAAY,EAAE,eAAe,CAAA;CAC9B;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAY9C,CAAA"}
|
@@ -1,56 +1,18 @@
|
|
1
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 () {
|
19
|
-
var ownKeys = function(o) {
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
21
|
-
var ar = [];
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
23
|
-
return ar;
|
24
|
-
};
|
25
|
-
return ownKeys(o);
|
26
|
-
};
|
27
|
-
return function (mod) {
|
28
|
-
if (mod && mod.__esModule) return mod;
|
29
|
-
var result = {};
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
31
|
-
__setModuleDefault(result, mod);
|
32
|
-
return result;
|
33
|
-
};
|
34
|
-
})();
|
35
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
36
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
37
4
|
};
|
38
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
39
6
|
exports.ExamStory = void 0;
|
40
7
|
const react_1 = __importDefault(require("react"));
|
41
|
-
const
|
42
|
-
const ExamComponentWrapper_1 = require("../../utils/ExamComponentWrapper");
|
43
|
-
const parseExam_1 = __importDefault(require("../../../../src/parser/parseExam"));
|
8
|
+
const src_1 = require("../../../../src");
|
44
9
|
const examServerApi_1 = require("../../../examServerApi");
|
45
|
-
const ExamStory = ({ masteredExam
|
46
|
-
const doc = (
|
47
|
-
return (react_1.default.createElement(
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
close: () => undefined,
|
52
|
-
restoreAnswer: () => undefined
|
53
|
-
} })));
|
10
|
+
const ExamStory = ({ masteredExam }) => {
|
11
|
+
const doc = new DOMParser().parseFromString(masteredExam.xml, 'application/xml');
|
12
|
+
return (react_1.default.createElement(src_1.Exam, { attachmentsURL: '/attachments',
|
13
|
+
resolveAttachment: (filename) => `/${masteredExam.examCode}/attachments/${filename}`,
|
14
|
+
doc,
|
15
|
+
examServerApi: examServerApi_1.examServerApi }));
|
54
16
|
};
|
55
17
|
exports.ExamStory = ExamStory;
|
56
18
|
//# sourceMappingURL=Exam.story.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Exam.story.js","sourceRoot":"","sources":["../../../../../__tests__/playwright/stories/exam/Exam.story.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"Exam.story.js","sourceRoot":"","sources":["../../../../../__tests__/playwright/stories/exam/Exam.story.tsx"],"names":[],"mappings":";;;;;;AACA,kDAAyB;AACzB,yCAAsC;AACtC,0DAAsD;AAM/C,MAAM,SAAS,GAA6B,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IACtE,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;IAChF,OAAO,CACL,8BAAC,UAAI,IAED,cAAc,EAAE,cAAc;QAC9B,iBAAiB,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,gBAAgB,QAAQ,EAAE;QAC5F,GAAG;QACH,aAAa,EAAb,6BAAa,GAEf,CACH,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,SAAS,aAYrB"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Locator, Page } from '@playwright/test';
|
2
2
|
import { MasteringResult } from '@digabi/exam-engine-mastering';
|
3
|
-
export declare function setupMasteredExam(
|
3
|
+
export declare function setupMasteredExam(filePath?: string): Promise<MasteringResult>;
|
4
4
|
export declare function annotateText(locator: Locator, page: Page, selectionWidth?: number): Promise<void>;
|
5
5
|
export declare function annotateImage(locator: Locator, page: Page): Promise<void>;
|
6
6
|
//# sourceMappingURL=utils.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../__tests__/playwright/utils/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAA6C,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE1G,wBAAsB,iBAAiB,CAAC,
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../__tests__/playwright/utils/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAA6C,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE1G,wBAAsB,iBAAiB,CAAC,QAAQ,GAAE,MAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAQhG;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,SAAM,iBAcpF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,iBAc/D"}
|
@@ -10,8 +10,8 @@ const exam_engine_exams_1 = require("@digabi/exam-engine-exams");
|
|
10
10
|
const promises_1 = require("fs/promises");
|
11
11
|
const path_1 = __importDefault(require("path"));
|
12
12
|
const exam_engine_mastering_1 = require("@digabi/exam-engine-mastering");
|
13
|
-
async function setupMasteredExam(
|
14
|
-
const examPath = (0, exam_engine_exams_1.resolveExam)(`${
|
13
|
+
async function setupMasteredExam(filePath = 'SC/SC.xml') {
|
14
|
+
const examPath = (0, exam_engine_exams_1.resolveExam)(`${filePath}`);
|
15
15
|
const resolveAttachment = (filename) => path_1.default.resolve(path_1.default.dirname(examPath), 'attachments', filename);
|
16
16
|
const examXml = await (0, promises_1.readFile)(examPath, 'utf-8');
|
17
17
|
const [masteredExam] = await (0, exam_engine_mastering_1.masterExam)(examXml, () => '', (0, exam_engine_mastering_1.getMediaMetadataFromLocalFile)(resolveAttachment), {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../__tests__/playwright/utils/utils.ts"],"names":[],"mappings":";;;;;AAMA,8CAQC;AAED,oCAcC;AAED,sCAcC;AA9CD,iEAAuD;AACvD,0CAAsC;AAEtC,gDAAuB;AACvB,yEAA0G;AAEnG,KAAK,UAAU,iBAAiB,CAAC,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../__tests__/playwright/utils/utils.ts"],"names":[],"mappings":";;;;;AAMA,8CAQC;AAED,oCAcC;AAED,sCAcC;AA9CD,iEAAuD;AACvD,0CAAsC;AAEtC,gDAAuB;AACvB,yEAA0G;AAEnG,KAAK,UAAU,iBAAiB,CAAC,WAAmB,WAAW;IACpE,MAAM,QAAQ,GAAG,IAAA,+BAAW,EAAC,GAAG,QAAQ,EAAE,CAAC,CAAA;IAC3C,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC7G,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACjD,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAA,kCAAU,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAA,qDAA6B,EAAC,iBAAiB,CAAC,EAAE;QAC3G,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAA;IACF,OAAO,YAAY,CAAA;AACrB,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAU,EAAE,cAAc,GAAG,GAAG;IACnF,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAA,CAAC,+BAA+B;IACtE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAA;IACvC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACxB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACxB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,cAAc,CAAA,CAAC,2CAA2C;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAA;IAEnB,6CAA6C;IAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IACvB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACjC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAA;AACvB,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,OAAgB,EAAE,IAAU;IAC9D,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAA;IACtC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAA;IACvC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAA;IACpB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAA;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IAEnC,6CAA6C;IAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IACvB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACjC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAA;AACvB,CAAC"}
|