@digabi/exam-engine-mastering 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.
- package/dist/__tests__/testExamMastering.js +28 -21
- package/dist/__tests__/testExamMastering.js.map +1 -1
- package/dist/__tests__/testMexCreation.js +10 -10
- package/dist/__tests__/testMexCreation.js.map +1 -1
- package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
- package/dist/createMex.js +4 -4
- package/dist/createMex.js.map +1 -1
- package/dist/crypto-utils.js +1 -1
- package/dist/crypto-utils.js.map +1 -1
- package/dist/i18n/index.js +4 -4
- package/dist/mastering/createGradingStructure.js +7 -7
- package/dist/mastering/createGradingStructure.js.map +1 -1
- package/dist/mastering/createTranslationFile.js +2 -2
- package/dist/mastering/createTranslationFile.js.map +1 -1
- package/dist/mastering/index.d.ts.map +1 -1
- package/dist/mastering/index.js +43 -36
- package/dist/mastering/index.js.map +1 -1
- package/dist/mastering/render-formula.js +6 -6
- package/dist/mastering/render-formula.js.map +1 -1
- package/dist/mastering/utils.js +1 -1
- package/dist/mastering/utils.js.map +1 -1
- package/dist/migrations/migrateFrom01To02.js +2 -2
- package/dist/migrations/migrateFrom01To02.js.map +1 -1
- package/dist/migrations/migrateFrom02To03.js +1 -1
- package/dist/migrations/migrateFrom02To03.js.map +1 -1
- package/dist/migrations.js +1 -1
- package/package.json +6 -6
|
@@ -31,6 +31,13 @@ describe('Exam mastering', () => {
|
|
|
31
31
|
const xml = await (0, fixtures_1.readFixture)('invalid_empty_day_code.xml');
|
|
32
32
|
return expect((0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata)).rejects.toThrow('Invalid empty day-code for exam-code A');
|
|
33
33
|
});
|
|
34
|
+
it('other than first section is cas restricted', async () => {
|
|
35
|
+
const xml = await (0, fixtures_1.readFixture)('cas.xml');
|
|
36
|
+
expect(await (0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata)).toHaveLength(1);
|
|
37
|
+
expect(await (0, exam_engine_mastering_1.masterExam)(xml.replace(/<e:section cas-forbidden="true">/g, '<e:section>'), generateUuid, getMediaMetadata)).toHaveLength(1);
|
|
38
|
+
await expect((0, exam_engine_mastering_1.masterExam)(xml.replace(/<e:section cas-forbidden="false">/g, '<e:section cas-forbidden="true">'), generateUuid, getMediaMetadata)).rejects.toThrow('cas-forbidden attribute can be true only on first section');
|
|
39
|
+
return expect((0, exam_engine_mastering_1.masterExam)(xml.replace(/<e:section>/g, '<e:section cas-forbidden="true">'), generateUuid, getMediaMetadata)).rejects.toThrow('cas-forbidden attribute can be true only on first section');
|
|
40
|
+
});
|
|
34
41
|
});
|
|
35
42
|
it('validates the XML against a schema', async () => {
|
|
36
43
|
const xml = await (0, fixtures_1.readFixture)('does_not_validate.xml');
|
|
@@ -66,16 +73,16 @@ describe('Exam mastering', () => {
|
|
|
66
73
|
examCode: 'A',
|
|
67
74
|
date: '2020-01-01',
|
|
68
75
|
language: 'fi-FI',
|
|
69
|
-
type: 'normal'
|
|
70
|
-
}
|
|
76
|
+
type: 'normal'
|
|
77
|
+
}
|
|
71
78
|
]);
|
|
72
79
|
expect(spy.mock.calls[1]).toEqual([
|
|
73
80
|
{
|
|
74
81
|
examCode: 'A',
|
|
75
82
|
date: '2020-01-01',
|
|
76
83
|
language: 'sv-FI',
|
|
77
|
-
type: 'normal'
|
|
78
|
-
}
|
|
84
|
+
type: 'normal'
|
|
85
|
+
}
|
|
79
86
|
]);
|
|
80
87
|
});
|
|
81
88
|
it('supports multiple exam-type attributes', async () => {
|
|
@@ -87,20 +94,20 @@ describe('Exam mastering', () => {
|
|
|
87
94
|
});
|
|
88
95
|
it('does not combine choice-answers and dropdown-answers to the same question in grading structure', async () => {
|
|
89
96
|
const xml = (0, exam_engine_generator_1.generateExam)({
|
|
90
|
-
sections: [{ questions: [(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.choiceAnswer)(), (0, exam_engine_generator_1.dropdownAnswer)()])] }]
|
|
97
|
+
sections: [{ questions: [(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.choiceAnswer)(), (0, exam_engine_generator_1.dropdownAnswer)()])] }]
|
|
91
98
|
});
|
|
92
99
|
const [masteringResult] = await (0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata);
|
|
93
100
|
expect(masteringResult.gradingStructure.questions).toMatchObject([
|
|
94
101
|
{
|
|
95
102
|
type: 'choicegroup',
|
|
96
103
|
displayNumber: '1.1',
|
|
97
|
-
choices: [{ type: 'choice', displayNumber: '1.1' }]
|
|
104
|
+
choices: [{ type: 'choice', displayNumber: '1.1' }]
|
|
98
105
|
},
|
|
99
106
|
{
|
|
100
107
|
type: 'choicegroup',
|
|
101
108
|
displayNumber: '1.2',
|
|
102
|
-
choices: [{ type: 'choice', displayNumber: '1.2' }]
|
|
103
|
-
}
|
|
109
|
+
choices: [{ type: 'choice', displayNumber: '1.2' }]
|
|
110
|
+
}
|
|
104
111
|
]);
|
|
105
112
|
});
|
|
106
113
|
it('combines choice-answers and dropdown-answers to the same question in grading structure when groupChoiceAnswers option is set', async () => {
|
|
@@ -112,9 +119,9 @@ describe('Exam mastering', () => {
|
|
|
112
119
|
displayNumber: '1',
|
|
113
120
|
choices: [
|
|
114
121
|
{ type: 'choice', displayNumber: '1.1' },
|
|
115
|
-
{ type: 'choice', displayNumber: '1.2' }
|
|
116
|
-
]
|
|
117
|
-
}
|
|
122
|
+
{ type: 'choice', displayNumber: '1.2' }
|
|
123
|
+
]
|
|
124
|
+
}
|
|
118
125
|
]);
|
|
119
126
|
});
|
|
120
127
|
it('supports arbitrarily nested questions', async () => {
|
|
@@ -124,10 +131,10 @@ describe('Exam mastering', () => {
|
|
|
124
131
|
questions: [
|
|
125
132
|
(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()]), (0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()])]),
|
|
126
133
|
(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()]), (0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()])])]),
|
|
127
|
-
(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()]), (0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()])])])])
|
|
128
|
-
]
|
|
129
|
-
}
|
|
130
|
-
]
|
|
134
|
+
(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()]), (0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()])])])])
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
]
|
|
131
138
|
});
|
|
132
139
|
const [masteringResult] = await (0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata);
|
|
133
140
|
expect((0, jest_snapshot_serializer_raw_1.wrap)(masteringResult.xml)).toMatchSnapshot('xml');
|
|
@@ -143,20 +150,20 @@ describe('Exam mastering', () => {
|
|
|
143
150
|
examVersions: [
|
|
144
151
|
{ language: 'fi-FI', type: 'normal' },
|
|
145
152
|
{ language: 'fi-FI', type: 'visually-impaired' },
|
|
146
|
-
{ language: 'fi-FI', type: 'hearing-impaired' }
|
|
153
|
+
{ language: 'fi-FI', type: 'hearing-impaired' }
|
|
147
154
|
],
|
|
148
155
|
sections: [
|
|
149
156
|
{
|
|
150
|
-
questions: [(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()])]
|
|
151
|
-
}
|
|
152
|
-
]
|
|
157
|
+
questions: [(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()])]
|
|
158
|
+
}
|
|
159
|
+
]
|
|
153
160
|
});
|
|
154
161
|
const masteringResults = await (0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata);
|
|
155
|
-
const titles = masteringResults.map(
|
|
162
|
+
const titles = masteringResults.map(r => r.title);
|
|
156
163
|
expect(titles).toEqual([
|
|
157
164
|
'FI – Englanti, pitkä oppimäärä',
|
|
158
165
|
'FI – Englanti, pitkä oppimäärä (näkövammaiset)',
|
|
159
|
-
'FI – Englanti, pitkä oppimäärä (kuulovammaiset)'
|
|
166
|
+
'FI – Englanti, pitkä oppimäärä (kuulovammaiset)'
|
|
160
167
|
]);
|
|
161
168
|
});
|
|
162
169
|
for (const exam of (0, exam_engine_exams_1.listExams)()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testExamMastering.js","sourceRoot":"","sources":["../../__tests__/testExamMastering.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"testExamMastering.js","sourceRoot":"","sources":["../../__tests__/testExamMastering.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,12 +25,12 @@ describe('Mex exam package creation', () => {
|
|
|
25
25
|
exams = [
|
|
26
26
|
{
|
|
27
27
|
filename: 'exam_a.mex',
|
|
28
|
-
contents: stream_1.Readable.from(['mock exam A'])
|
|
28
|
+
contents: stream_1.Readable.from(['mock exam A'])
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
filename: 'exam_b.mex',
|
|
32
|
-
contents: stream_1.Readable.from(['mock exam B'])
|
|
33
|
-
}
|
|
32
|
+
contents: stream_1.Readable.from(['mock exam B'])
|
|
33
|
+
}
|
|
34
34
|
];
|
|
35
35
|
});
|
|
36
36
|
const xml = 'mock xml';
|
|
@@ -57,15 +57,15 @@ describe('Mex exam package creation', () => {
|
|
|
57
57
|
async function expectCorrectMexIsCreated(koeUpdate) {
|
|
58
58
|
const { mexStream, mexBuffers } = getMexStreamAndBuffers();
|
|
59
59
|
await (0, createMex_1.createMex)(xml, attachments, nsaScripts, null, passphrase, privateKey, mexStream, undefined, ktpUpdate, koeUpdate);
|
|
60
|
-
return await expectZipEntriesAreCorrect(mexBuffers,
|
|
60
|
+
return await expectZipEntriesAreCorrect(mexBuffers, e => ({
|
|
61
61
|
fileName: e.fileName,
|
|
62
|
-
uncompressedSize: e.fileName === 'rendering.zip.bin' ? 0 : e.uncompressedSize
|
|
62
|
+
uncompressedSize: e.fileName === 'rendering.zip.bin' ? 0 : e.uncompressedSize // ignore rendering.zip size
|
|
63
63
|
}));
|
|
64
64
|
}
|
|
65
65
|
it('creates a minimal mex with verifyable exam.xml signature', async () => {
|
|
66
66
|
const mexEntries = await expectCorrectMexIsCreated();
|
|
67
|
-
const encryptedExamXml = await toBuffer(await mexEntries.find(
|
|
68
|
-
const encryptedExamXmlSignature = (await toBuffer(await mexEntries.find(
|
|
67
|
+
const encryptedExamXml = await toBuffer(await mexEntries.find(e => e.fileName === 'exam.xml.bin').openReadStream());
|
|
68
|
+
const encryptedExamXmlSignature = (await toBuffer(await mexEntries.find(e => e.fileName === 'exam.xml.bin.sig').openReadStream())).toString('utf8');
|
|
69
69
|
const signatureVerificationResult = (0, crypto_utils_1.verifyWithSHA256AndRSA)(encryptedExamXml, publicKey, encryptedExamXmlSignature);
|
|
70
70
|
expect(signatureVerificationResult).toBeTruthy();
|
|
71
71
|
});
|
|
@@ -78,9 +78,9 @@ describe('Mex exam package creation', () => {
|
|
|
78
78
|
async function expectCorrectMultiMexIsCreated(koeUpdate) {
|
|
79
79
|
const { mexStream, mexBuffers } = getMexStreamAndBuffers();
|
|
80
80
|
await (0, createMex_1.createMultiMex)(exams, nsaScripts, securityCodes, passphrase, privateKey, mexStream, loadSimulationConfiguration, ktpUpdate, koeUpdate);
|
|
81
|
-
await expectZipEntriesAreCorrect(mexBuffers,
|
|
81
|
+
await expectZipEntriesAreCorrect(mexBuffers, e => ({
|
|
82
82
|
fileName: e.fileName,
|
|
83
|
-
uncompressedSize: e.uncompressedSize
|
|
83
|
+
uncompressedSize: e.uncompressedSize
|
|
84
84
|
}));
|
|
85
85
|
}
|
|
86
86
|
it('creates a minimal multimex', async () => {
|
|
@@ -96,7 +96,7 @@ async function readResource(filename) {
|
|
|
96
96
|
return fs_1.promises.readFile(path_1.default.resolve(__dirname, 'resources', filename), 'utf-8');
|
|
97
97
|
}
|
|
98
98
|
function toBuffer(stream) {
|
|
99
|
-
return new Promise(
|
|
99
|
+
return new Promise(resolve => {
|
|
100
100
|
const buffers = [];
|
|
101
101
|
stream.on('data', (d) => buffers.push(d));
|
|
102
102
|
stream.on('end', () => resolve(Buffer.concat(buffers)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testMexCreation.js","sourceRoot":"","sources":["../../__tests__/testMexCreation.ts"],"names":[],"mappings":";;;;;AAAA,2BAAmC;AACnC,gDAAuB;AACvB,kEAAiC;AACjC,mCAA8C;AAC9C,iDAAuF;AACvF,sDAA4D;AAO5D,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,UAAkB,CAAA;IACtB,IAAI,SAAiB,CAAA;IACrB,IAAI,UAAoB,CAAA;IACxB,IAAI,aAAuB,CAAA;IAC3B,IAAI,KAAiB,CAAA;IAErB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,UAAU,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,CAAA;QAClD,SAAS,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,iBAAQ,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAA;QAChD,aAAa,GAAG,iBAAQ,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAA;QACtD,KAAK,GAAG;YACN;gBACE,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,iBAAQ,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;aACzC;YACD;gBACE,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,iBAAQ,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;aACzC;SACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,UAAU,CAAA;IACtB,MAAM,WAAW,GAAqB,EAAE,CAAA;IACxC,MAAM,2BAA2B,GAAG,SAAS,CAAA;IAC7C,MAAM,UAAU,GAAG,YAAY,CAAA;IAC/B,MAAM,SAAS,GAAG,SAAS,CAAA;IAE3B,SAAS,sBAAsB;QAC7B,MAAM,SAAS,GAAG,IAAI,oBAAW,EAAE,CAAA;QACnC,MAAM,UAAU,GAAa,EAAE,CAAA;QAC/B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACpC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;QACF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;IAClC,CAAC;IAED,KAAK,UAAU,0BAA0B,CACvC,UAAoB,EACpB,WAAkG;QAElG,MAAM,GAAG,GAAG,MAAM,uBAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;QAC7D,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAA;QAC1C,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACjD,MAAM,CAAC,aAAa,CAAC,CAAC,eAAe,EAAE,CAAA;QACvC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,KAAK,UAAU,yBAAyB,CAAC,SAAoB;YAC3D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,sBAAsB,EAAE,CAAA;YAC1D,MAAM,IAAA,qBAAS,EACb,GAAG,EACH,WAAW,EACX,UAAU,EACV,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,CACV,CAAA;YACD,OAAO,MAAM,0BAA0B,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"testMexCreation.js","sourceRoot":"","sources":["../../__tests__/testMexCreation.ts"],"names":[],"mappings":"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"}
|