@digabi/exam-engine-mastering 16.1.3-alpha.0 → 16.2.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.
@@ -16,42 +16,50 @@ const getMediaMetadata = async (__, type) => Promise.resolve(type === 'audio' ?
16
16
  describe('Exam mastering', () => {
17
17
  describe('throws an error if', () => {
18
18
  it('XML is invalid', async () => {
19
- const xml = await fixtures_1.readFixture('not_xml.xml');
20
- return expect(exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata)).rejects.toThrow("Start tag expected, '<' not found\n");
19
+ const xml = await (0, fixtures_1.readFixture)('not_xml.xml');
20
+ return expect((0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata)).rejects.toThrow("Start tag expected, '<' not found\n");
21
21
  });
22
22
  it('XML has invalid exam code', async () => {
23
- const xml = await fixtures_1.readFixture('invalid_exam_code.xml');
24
- return expect(exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata)).rejects.toThrow('Invalid exam-code BI for day-code X');
23
+ const xml = await (0, fixtures_1.readFixture)('invalid_exam_code.xml');
24
+ return expect((0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata)).rejects.toThrow('Invalid exam-code BI for day-code X');
25
25
  });
26
26
  it('XML has invalid day code', async () => {
27
- const xml = await fixtures_1.readFixture('invalid_day_code.xml');
28
- return expect(exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata)).rejects.toThrow("The value 'Z' is not an element of the set");
27
+ const xml = await (0, fixtures_1.readFixture)('invalid_day_code.xml');
28
+ return expect((0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata)).rejects.toThrow("The value 'Z' is not an element of the set");
29
29
  });
30
30
  it('XML has invalid empty day code', async () => {
31
- const xml = await fixtures_1.readFixture('invalid_empty_day_code.xml');
32
- return expect(exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata)).rejects.toThrow('Invalid empty day-code for exam-code A');
31
+ const xml = await (0, fixtures_1.readFixture)('invalid_empty_day_code.xml');
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
34
  });
35
35
  it('validates the XML against a schema', async () => {
36
- const xml = await fixtures_1.readFixture('does_not_validate.xml');
37
- return expect(exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata)).rejects.toThrow("Element '{http://ylioppilastutkinto.fi/exam.xsd}exam-title': This element is not expected. Expected is ( {http://ylioppilastutkinto.fi/exam.xsd}exam-versions ).\n");
36
+ const xml = await (0, fixtures_1.readFixture)('does_not_validate.xml');
37
+ return expect((0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata)).rejects.toThrow("Element '{http://ylioppilastutkinto.fi/exam.xsd}exam-title': This element is not expected. Expected is ( {http://ylioppilastutkinto.fi/exam.xsd}exam-versions ).\n");
38
38
  });
39
39
  it('does not substitute entities', async () => {
40
- const xml = await fixtures_1.readFixture('has_entities.xml');
41
- return expect(exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata)).rejects.toThrow('Internal error: xmlSchemaVDocWalk, there is at least one entity reference in the node-tree currently being validated. Processing of entities with this XML Schema processor is not supported (yet). Please substitute entities before validation..\n');
40
+ const xml = await (0, fixtures_1.readFixture)('has_entities.xml');
41
+ return expect((0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata)).rejects.toThrow('Internal error: xmlSchemaVDocWalk, there is at least one entity reference in the node-tree currently being validated. Processing of entities with this XML Schema processor is not supported (yet). Please substitute entities before validation..\n');
42
42
  });
43
43
  it('validates that all answers are directly under a question', async () => {
44
- const xml = await fixtures_1.readFixture('answer_not_under_question.xml');
45
- return expect(exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata)).rejects.toThrow('All answers must be within a question.');
44
+ const xml = await (0, fixtures_1.readFixture)('answer_not_under_question.xml');
45
+ return expect((0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata)).rejects.toThrow('All answers must be within a question.');
46
46
  });
47
47
  it('validates that a question may not contain both answers and child questions', async () => {
48
- const xml = await fixtures_1.readFixture('question_containing_both_subquestions_and_answers.xml');
49
- return expect(exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata)).rejects.toThrow('A question may not contain both answer elements and child questions');
48
+ const xml = await (0, fixtures_1.readFixture)('question_containing_both_subquestions_and_answers.xml');
49
+ return expect((0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata)).rejects.toThrow('A question may not contain both answer elements and child questions');
50
+ });
51
+ it('validates that a scored-text-answer must have either a max-score attribute or an accepted-answer', async () => {
52
+ const xml = await (0, fixtures_1.readFixture)('accepted_answer_without_score.xml');
53
+ return expect((0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata)).rejects.toThrow('A scored-text-answer element must contain either a max-score attribute or contain accepted-answers');
54
+ });
55
+ it('validates that the max-score of a scored-text-answer is not smaller than the score of its accepted-answer', async () => {
56
+ const xml = await (0, fixtures_1.readFixture)('accepted_answer_with_too_high_score.xml');
57
+ return expect((0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata)).rejects.toThrow('The max-score of a scored-text-answer cannot be smaller than the score of some of its accepted-answers');
50
58
  });
51
59
  it('calls generateUuid with exam metadata if it is an yo exam', async () => {
52
- const xml = await fixtures_1.readFixture('minimal_yo_exam.xml');
60
+ const xml = await (0, fixtures_1.readFixture)('minimal_yo_exam.xml');
53
61
  const spy = jest.fn(generateUuid);
54
- await exam_engine_mastering_1.masterExam(xml, spy, getMediaMetadata);
62
+ await (0, exam_engine_mastering_1.masterExam)(xml, spy, getMediaMetadata);
55
63
  expect(spy).toHaveBeenCalledTimes(2);
56
64
  expect(spy.mock.calls[0]).toEqual([
57
65
  {
@@ -70,9 +78,16 @@ describe('Exam mastering', () => {
70
78
  },
71
79
  ]);
72
80
  });
81
+ it('supports multiple exam-type attributes', async () => {
82
+ const xml = await (0, fixtures_1.readFixture)('multiple_exam_types.xml');
83
+ const masteringResults = await (0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata);
84
+ for (const masteringResult of masteringResults) {
85
+ expect((0, jest_snapshot_serializer_raw_1.wrap)(masteringResult.xml)).toMatchSnapshot(masteringResult.type);
86
+ }
87
+ });
73
88
  it('combines choice-answers and dropdown-answers to the same question in grading structure', async () => {
74
- const xml = exam_engine_generator_1.generateExam({ sections: [{ questions: [exam_engine_generator_1.question([exam_engine_generator_1.choiceAnswer(), exam_engine_generator_1.dropdownAnswer()])] }] });
75
- const [masteringResult] = await exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata);
89
+ const xml = (0, exam_engine_generator_1.generateExam)({ sections: [{ questions: [(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.choiceAnswer)(), (0, exam_engine_generator_1.dropdownAnswer)()])] }] });
90
+ const [masteringResult] = await (0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata);
76
91
  expect(masteringResult.gradingStructure.questions).toMatchObject([
77
92
  {
78
93
  type: 'choicegroup',
@@ -85,27 +100,27 @@ describe('Exam mastering', () => {
85
100
  ]);
86
101
  });
87
102
  it('supports arbitrarily nested questions', async () => {
88
- const xml = exam_engine_generator_1.generateExam({
103
+ const xml = (0, exam_engine_generator_1.generateExam)({
89
104
  sections: [
90
105
  {
91
106
  questions: [
92
- exam_engine_generator_1.question([exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()]), exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()])]),
93
- exam_engine_generator_1.question([exam_engine_generator_1.question([exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()]), exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()])])]),
94
- exam_engine_generator_1.question([exam_engine_generator_1.question([exam_engine_generator_1.question([exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()]), exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()])])])]),
107
+ (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)()])]),
108
+ (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)()])])]),
109
+ (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)()])])])]),
95
110
  ],
96
111
  },
97
112
  ],
98
113
  });
99
- const [masteringResult] = await exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata);
100
- expect(jest_snapshot_serializer_raw_1.wrap(masteringResult.xml)).toMatchSnapshot('xml');
114
+ const [masteringResult] = await (0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata);
115
+ expect((0, jest_snapshot_serializer_raw_1.wrap)(masteringResult.xml)).toMatchSnapshot('xml');
101
116
  });
102
117
  it('shuffles choice answers but keeps no-answer options last', async () => {
103
- const xml = await fixtures_1.readFixture('choice_answer_with_no_answer.xml');
104
- const [masteringResult] = await exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata);
105
- expect(jest_snapshot_serializer_raw_1.wrap(masteringResult.xml)).toMatchSnapshot();
118
+ const xml = await (0, fixtures_1.readFixture)('choice_answer_with_no_answer.xml');
119
+ const [masteringResult] = await (0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata);
120
+ expect((0, jest_snapshot_serializer_raw_1.wrap)(masteringResult.xml)).toMatchSnapshot();
106
121
  });
107
122
  it('adds a suffix to exam title for special exams', async () => {
108
- const xml = exam_engine_generator_1.generateExam({
123
+ const xml = (0, exam_engine_generator_1.generateExam)({
109
124
  examCode: 'EA',
110
125
  examVersions: [
111
126
  { language: 'fi-FI', type: 'normal' },
@@ -114,11 +129,11 @@ describe('Exam mastering', () => {
114
129
  ],
115
130
  sections: [
116
131
  {
117
- questions: [exam_engine_generator_1.question([exam_engine_generator_1.textAnswer()])],
132
+ questions: [(0, exam_engine_generator_1.question)([(0, exam_engine_generator_1.textAnswer)()])],
118
133
  },
119
134
  ],
120
135
  });
121
- const masteringResults = await exam_engine_mastering_1.masterExam(xml, generateUuid, getMediaMetadata);
136
+ const masteringResults = await (0, exam_engine_mastering_1.masterExam)(xml, generateUuid, getMediaMetadata);
122
137
  const titles = masteringResults.map((r) => r.title);
123
138
  expect(titles).toEqual([
124
139
  'FI – Englanti, pitkä oppimäärä',
@@ -126,13 +141,13 @@ describe('Exam mastering', () => {
126
141
  'FI – Englanti, pitkä oppimäärä (kuulovammaiset)',
127
142
  ]);
128
143
  });
129
- for (const exam of exam_engine_exams_1.listExams()) {
144
+ for (const exam of (0, exam_engine_exams_1.listExams)()) {
130
145
  it(`masters ${path_1.default.basename(exam)} exam correctly`, async () => {
131
146
  const source = await fs_1.promises.readFile(exam, 'utf-8');
132
- const results = await exam_engine_mastering_1.masterExam(source, generateUuid, getMediaMetadata);
147
+ const results = await (0, exam_engine_mastering_1.masterExam)(source, generateUuid, getMediaMetadata);
133
148
  for (const result of results) {
134
- expect(jest_snapshot_serializer_raw_1.wrap(result.xml)).toMatchSnapshot('xml');
135
- expect(jest_snapshot_serializer_raw_1.wrap(result.translation)).toMatchSnapshot('translation');
149
+ expect((0, jest_snapshot_serializer_raw_1.wrap)(result.xml)).toMatchSnapshot('xml');
150
+ expect((0, jest_snapshot_serializer_raw_1.wrap)(result.translation)).toMatchSnapshot('translation');
136
151
  expect(lodash_1.default.omit(result, 'xml', 'translation')).toMatchSnapshot();
137
152
  }
138
153
  });
@@ -1 +1 @@
1
- {"version":3,"file":"testExamMastering.js","sourceRoot":"","sources":["../../__tests__/testExamMastering.ts"],"names":[],"mappings":";;;;;AAAA,iEAAqD;AACrD,yEAAgH;AAChH,yEAA0F;AAC1F,2BAAmC;AACnC,+EAAmD;AACnD,oDAAsB;AACtB,gDAAuB;AACvB,yCAAwC;AAExC,MAAM,YAAY,GAAiB,GAAG,EAAE,CAAC,sCAAsC,CAAA;AAC/E,MAAM,gBAAgB,GAAqB,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAC5D,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;AAErF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,aAAa,CAAC,CAAA;YAC5C,OAAO,MAAM,CAAC,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5E,qCAAqC,CACtC,CAAA;QACH,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,uBAAuB,CAAC,CAAA;YACtD,OAAO,MAAM,CAAC,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5E,qCAAqC,CACtC,CAAA;QACH,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,sBAAsB,CAAC,CAAA;YACrD,OAAO,MAAM,CAAC,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5E,4CAA4C,CAC7C,CAAA;QACH,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,4BAA4B,CAAC,CAAA;YAC3D,OAAO,MAAM,CAAC,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5E,wCAAwC,CACzC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,uBAAuB,CAAC,CAAA;QACtD,OAAO,MAAM,CAAC,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5E,oKAAoK,CACrK,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,kBAAkB,CAAC,CAAA;QACjD,OAAO,MAAM,CAAC,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5E,sPAAsP,CACvP,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,+BAA+B,CAAC,CAAA;QAC9D,OAAO,MAAM,CAAC,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5E,wCAAwC,CACzC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,uDAAuD,CAAC,CAAA;QACtF,OAAO,MAAM,CAAC,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5E,qEAAqE,CACtE,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,qBAAqB,CAAC,CAAA;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;QACjC,MAAM,kCAAU,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAA;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAChC;gBACE,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAChC;gBACE,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;QACtG,MAAM,GAAG,GAAG,oCAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,gCAAQ,CAAC,CAAC,oCAAY,EAAE,EAAE,sCAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QACvG,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAA;QAC/E,MAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;YAC/D;gBACE,IAAI,EAAE,aAAa;gBACnB,aAAa,EAAE,GAAG;gBAClB,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE;oBACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE;iBACzC;aACF;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,GAAG,GAAG,oCAAY,CAAC;YACvB,QAAQ,EAAE;gBACR;oBACE,SAAS,EAAE;wBACT,gCAAQ,CAAC,CAAC,gCAAQ,CAAC,CAAC,kCAAU,EAAE,CAAC,CAAC,EAAE,gCAAQ,CAAC,CAAC,kCAAU,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC9D,gCAAQ,CAAC,CAAC,gCAAQ,CAAC,CAAC,gCAAQ,CAAC,CAAC,kCAAU,EAAE,CAAC,CAAC,EAAE,gCAAQ,CAAC,CAAC,kCAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1E,gCAAQ,CAAC,CAAC,gCAAQ,CAAC,CAAC,gCAAQ,CAAC,CAAC,gCAAQ,CAAC,CAAC,kCAAU,EAAE,CAAC,CAAC,EAAE,gCAAQ,CAAC,CAAC,kCAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvF;iBACF;aACF;SACF,CAAC,CAAA;QACF,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAA;QAC/E,MAAM,CAAC,mCAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,kCAAkC,CAAC,CAAA;QACjE,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAA;QAC/E,MAAM,CAAC,mCAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,GAAG,GAAG,oCAAY,CAAC;YACvB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE;gBACZ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE;gBAChD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE;aAChD;YACD,QAAQ,EAAE;gBACR;oBACE,SAAS,EAAE,CAAC,gCAAQ,CAAC,CAAC,kCAAU,EAAE,CAAC,CAAC,CAAC;iBACtC;aACF;SACF,CAAC,CAAA;QACF,MAAM,gBAAgB,GAAG,MAAM,kCAAU,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAA;QAC9E,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACnD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,gCAAgC;YAChC,gDAAgD;YAChD,iDAAiD;SAClD,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,KAAK,MAAM,IAAI,IAAI,6BAAS,EAAE,EAAE;QAC9B,EAAE,CAAC,WAAW,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,MAAM,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC/C,MAAM,OAAO,GAAG,MAAM,kCAAU,CAAC,MAAM,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAA;YACxE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,MAAM,CAAC,mCAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;gBAC/C,MAAM,CAAC,mCAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;gBAC/D,MAAM,CAAC,gBAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;aAC/D;QACH,CAAC,CAAC,CAAA;KACH;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"testExamMastering.js","sourceRoot":"","sources":["../../__tests__/testExamMastering.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ describe('Mex exam package creation', () => {
56
56
  describe('with createMex', () => {
57
57
  async function expectCorrectMexIsCreated(koeUpdate) {
58
58
  const { mexStream, mexBuffers } = getMexStreamAndBuffers();
59
- await createMex_1.createMex(xml, attachments, nsaScripts, null, passphrase, privateKey, mexStream, undefined, ktpUpdate, koeUpdate);
59
+ await (0, createMex_1.createMex)(xml, attachments, nsaScripts, null, passphrase, privateKey, mexStream, undefined, ktpUpdate, koeUpdate);
60
60
  return await expectZipEntriesAreCorrect(mexBuffers, (e) => ({
61
61
  fileName: e.fileName,
62
62
  uncompressedSize: e.fileName === 'rendering.zip.bin' ? 0 : e.uncompressedSize, // ignore rendering.zip size
@@ -66,7 +66,7 @@ describe('Mex exam package creation', () => {
66
66
  const mexEntries = await expectCorrectMexIsCreated();
67
67
  const encryptedExamXml = await toBuffer(await mexEntries.find((e) => e.fileName === 'exam.xml.bin').openReadStream());
68
68
  const encryptedExamXmlSignature = (await toBuffer(await mexEntries.find((e) => e.fileName === 'exam.xml.bin.sig').openReadStream())).toString('utf8');
69
- const signatureVerificationResult = crypto_utils_1.verifyWithSHA256AndRSA(encryptedExamXml, publicKey, encryptedExamXmlSignature);
69
+ const signatureVerificationResult = (0, crypto_utils_1.verifyWithSHA256AndRSA)(encryptedExamXml, publicKey, encryptedExamXmlSignature);
70
70
  expect(signatureVerificationResult).toBeTruthy();
71
71
  });
72
72
  it('creates a mex with koe-update.zip', async () => {
@@ -77,7 +77,7 @@ describe('Mex exam package creation', () => {
77
77
  describe('with createMultiMex', () => {
78
78
  async function expectCorrectMultiMexIsCreated(koeUpdate) {
79
79
  const { mexStream, mexBuffers } = getMexStreamAndBuffers();
80
- await createMex_1.createMultiMex(exams, nsaScripts, securityCodes, passphrase, privateKey, mexStream, loadSimulationConfiguration, ktpUpdate, koeUpdate);
80
+ await (0, createMex_1.createMultiMex)(exams, nsaScripts, securityCodes, passphrase, privateKey, mexStream, loadSimulationConfiguration, ktpUpdate, koeUpdate);
81
81
  await expectZipEntriesAreCorrect(mexBuffers, (e) => ({
82
82
  fileName: e.fileName,
83
83
  uncompressedSize: e.uncompressedSize,
@@ -1 +1 @@
1
- {"version":3,"file":"testMexCreation.js","sourceRoot":"","sources":["../../__tests__/testMexCreation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testMexCreation.js","sourceRoot":"","sources":["../../__tests__/testMexCreation.ts"],"names":[],"mappings":"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"}
@@ -5,26 +5,26 @@ const fixtures_1 = require("./fixtures");
5
5
  const jest_snapshot_serializer_raw_1 = require("jest-snapshot-serializer-raw");
6
6
  describe('Exam migrations', () => {
7
7
  it('migrates an old exam to the current schema', async () => {
8
- const xml = await fixtures_1.readFixture('old_schema_version.xml');
9
- const doc = exam_engine_mastering_1.parseExam(xml, false);
10
- exam_engine_mastering_1.migrateExam(doc);
11
- expect(jest_snapshot_serializer_raw_1.wrap(doc.toString(false))).toMatchSnapshot();
8
+ const xml = await (0, fixtures_1.readFixture)('old_schema_version.xml');
9
+ const doc = (0, exam_engine_mastering_1.parseExam)(xml, false);
10
+ (0, exam_engine_mastering_1.migrateExam)(doc);
11
+ expect((0, jest_snapshot_serializer_raw_1.wrap)(doc.toString(false))).toMatchSnapshot();
12
12
  });
13
13
  it('does nothing if the exam already is in the latest schema', async () => {
14
- const xml = await fixtures_1.readFixture('minimal_yo_exam.xml');
15
- const doc = exam_engine_mastering_1.parseExam(xml);
16
- exam_engine_mastering_1.migrateExam(doc);
17
- expect(doc.toString(false)).toEqual(exam_engine_mastering_1.parseExam(xml).toString(false));
14
+ const xml = await (0, fixtures_1.readFixture)('minimal_yo_exam.xml');
15
+ const doc = (0, exam_engine_mastering_1.parseExam)(xml);
16
+ (0, exam_engine_mastering_1.migrateExam)(doc);
17
+ expect(doc.toString(false)).toEqual((0, exam_engine_mastering_1.parseExam)(xml).toString(false));
18
18
  });
19
19
  it('throws an error if schema version is invalid', async () => {
20
- const xml = await fixtures_1.readFixture('invalid_schema_version.xml');
21
- const doc = exam_engine_mastering_1.parseExam(xml);
22
- expect(() => exam_engine_mastering_1.migrateExam(doc)).toThrow('Unsupported exam schema version: 2.0');
20
+ const xml = await (0, fixtures_1.readFixture)('invalid_schema_version.xml');
21
+ const doc = (0, exam_engine_mastering_1.parseExam)(xml);
22
+ expect(() => (0, exam_engine_mastering_1.migrateExam)(doc)).toThrow('Unsupported exam schema version: 2.0');
23
23
  });
24
24
  it('throws an error if schema version is missing', async () => {
25
- const xml = await fixtures_1.readFixture('no_schema_version.xml');
26
- const doc = exam_engine_mastering_1.parseExam(xml);
27
- expect(() => exam_engine_mastering_1.migrateExam(doc)).toThrow('No exam-schema-version attribute found');
25
+ const xml = await (0, fixtures_1.readFixture)('no_schema_version.xml');
26
+ const doc = (0, exam_engine_mastering_1.parseExam)(xml);
27
+ expect(() => (0, exam_engine_mastering_1.migrateExam)(doc)).toThrow('No exam-schema-version attribute found');
28
28
  });
29
29
  });
30
30
  //# sourceMappingURL=testMigrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testMigrations.js","sourceRoot":"","sources":["../../__tests__/testMigrations.ts"],"names":[],"mappings":";;AAAA,yEAAsE;AACtE,yCAAwC;AACxC,+EAAmD;AAEnD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,wBAAwB,CAAC,CAAA;QACvD,MAAM,GAAG,GAAG,iCAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACjC,mCAAW,CAAC,GAAG,CAAC,CAAA;QAEhB,MAAM,CAAC,mCAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,qBAAqB,CAAC,CAAA;QACpD,MAAM,GAAG,GAAG,iCAAS,CAAC,GAAG,CAAC,CAAA;QAC1B,mCAAW,CAAC,GAAG,CAAC,CAAA;QAEhB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,iCAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,4BAA4B,CAAC,CAAA;QAC3D,MAAM,GAAG,GAAG,iCAAS,CAAC,GAAG,CAAC,CAAA;QAE1B,MAAM,CAAC,GAAG,EAAE,CAAC,mCAAW,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAA;IAChF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,GAAG,GAAG,MAAM,sBAAW,CAAC,uBAAuB,CAAC,CAAA;QACtD,MAAM,GAAG,GAAG,iCAAS,CAAC,GAAG,CAAC,CAAA;QAE1B,MAAM,CAAC,GAAG,EAAE,CAAC,mCAAW,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAA;IAClF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"testMigrations.js","sourceRoot":"","sources":["../../__tests__/testMigrations.ts"],"names":[],"mappings":";;AAAA,yEAAsE;AACtE,yCAAwC;AACxC,+EAAmD;AAEnD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAW,EAAC,wBAAwB,CAAC,CAAA;QACvD,MAAM,GAAG,GAAG,IAAA,iCAAS,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACjC,IAAA,mCAAW,EAAC,GAAG,CAAC,CAAA;QAEhB,MAAM,CAAC,IAAA,mCAAI,EAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAW,EAAC,qBAAqB,CAAC,CAAA;QACpD,MAAM,GAAG,GAAG,IAAA,iCAAS,EAAC,GAAG,CAAC,CAAA;QAC1B,IAAA,mCAAW,EAAC,GAAG,CAAC,CAAA;QAEhB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAA,iCAAS,EAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAW,EAAC,4BAA4B,CAAC,CAAA;QAC3D,MAAM,GAAG,GAAG,IAAA,iCAAS,EAAC,GAAG,CAAC,CAAA;QAE1B,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mCAAW,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAA;IAChF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAW,EAAC,uBAAuB,CAAC,CAAA;QACtD,MAAM,GAAG,GAAG,IAAA,iCAAS,EAAC,GAAG,CAAC,CAAA;QAE1B,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mCAAW,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAA;IAClF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}