fix(backend): Overige falende testen gerepareerd.
This commit is contained in:
parent
c624e36680
commit
0609152cb3
10 changed files with 36 additions and 29 deletions
|
@ -1,28 +1,21 @@
|
|||
import { beforeAll, describe, expect, it } from 'vitest';
|
||||
import { setupTestApp } from '../../setup-tests.js';
|
||||
import { getAttachmentRepository, getLearningObjectRepository } from '../../../src/data/repositories.js';
|
||||
import { getAttachmentRepository } from '../../../src/data/repositories.js';
|
||||
import { AttachmentRepository } from '../../../src/data/content/attachment-repository.js';
|
||||
import { LearningObjectRepository } from '../../../src/data/content/learning-object-repository.js';
|
||||
import { LearningObjectIdentifier } from '../../../src/entities/content/learning-object-identifier.js';
|
||||
import { Language } from '@dwengo-1/common/util/language';
|
||||
import { testLearningObject02 } from "../../test_assets/content/learning-objects.testdata";
|
||||
|
||||
describe('AttachmentRepository', () => {
|
||||
let attachmentRepository: AttachmentRepository;
|
||||
let learningObjectRepository: LearningObjectRepository;
|
||||
|
||||
beforeAll(async () => {
|
||||
await setupTestApp();
|
||||
attachmentRepository = getAttachmentRepository();
|
||||
learningObjectRepository = getLearningObjectRepository();
|
||||
});
|
||||
|
||||
it('should return the requested attachment', async () => {
|
||||
const id = new LearningObjectIdentifier('id02', Language.English, 1);
|
||||
const learningObject = await learningObjectRepository.findByIdentifier(id);
|
||||
|
||||
const attachment = await attachmentRepository.findByMostRecentVersionOfLearningObjectAndName(
|
||||
learningObject!.hruid,
|
||||
Language.English,
|
||||
testLearningObject02.hruid,
|
||||
testLearningObject02.language,
|
||||
'attachment01'
|
||||
);
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ import {
|
|||
testLearningObject02,
|
||||
testLearningObject03
|
||||
} from "../../test_assets/content/learning-objects.testdata";
|
||||
import {v4} from "uuid";
|
||||
|
||||
describe('LearningObjectRepository', () => {
|
||||
let learningObjectRepository: LearningObjectRepository;
|
||||
|
@ -43,6 +44,7 @@ describe('LearningObjectRepository', () => {
|
|||
let testLearningObject01Newer = structuredClone(testLearningObject01);
|
||||
testLearningObject01Newer.version = 10;
|
||||
testLearningObject01Newer.title += " (nieuw)";
|
||||
testLearningObject01Newer.uuid = v4();
|
||||
testLearningObject01Newer.content = Buffer.from("This is the new content.");
|
||||
newerExample = learningObjectRepository.create(testLearningObject01Newer);
|
||||
await learningObjectRepository.save(newerExample);
|
||||
|
|
|
@ -4,6 +4,7 @@ import { getLearningObjectRepository } from '../../../src/data/repositories';
|
|||
import { setupTestApp } from '../../setup-tests';
|
||||
import { LearningObjectIdentifier } from '../../../src/entities/content/learning-object-identifier';
|
||||
import { Language } from '@dwengo-1/common/util/language';
|
||||
import {testLearningObject01} from "../../test_assets/content/learning-objects.testdata";
|
||||
|
||||
describe('LearningObjectRepository', () => {
|
||||
let learningObjectRepository: LearningObjectRepository;
|
||||
|
@ -13,8 +14,8 @@ describe('LearningObjectRepository', () => {
|
|||
learningObjectRepository = getLearningObjectRepository();
|
||||
});
|
||||
|
||||
const id01 = new LearningObjectIdentifier('id01', Language.English, 1);
|
||||
const id02 = new LearningObjectIdentifier('test_id', Language.English, 1);
|
||||
const id01 = new LearningObjectIdentifier(testLearningObject01.hruid, testLearningObject01.language, testLearningObject01.version);
|
||||
const id02 = new LearningObjectIdentifier('non_existing_id', Language.English, 1);
|
||||
|
||||
it('should return the learning object that matches identifier 1', async () => {
|
||||
const learningObject = await learningObjectRepository.findByIdentifier(id01);
|
||||
|
|
|
@ -1,26 +1,40 @@
|
|||
import { describe, expect, it } from 'vitest';
|
||||
import mdExample from '../../../test-assets/learning-objects/pn-werkingnotebooks/pn-werkingnotebooks-example';
|
||||
import multipleChoiceExample from '../../../test-assets/learning-objects/test-multiple-choice/test-multiple-choice-example';
|
||||
import essayExample from '../../../test-assets/learning-objects/test-essay/test-essay-example';
|
||||
import {beforeAll, describe, expect, it} from 'vitest';
|
||||
import processingService from '../../../../src/services/learning-objects/processing/processing-service';
|
||||
import {
|
||||
testLearningObjectEssayQuestion,
|
||||
testLearningObjectMultipleChoice, testLearningObjectPnNotebooks
|
||||
} from "../../../test_assets/content/learning-objects.testdata";
|
||||
import {getHtmlRenderingForTestLearningObject} from "../../../test-utils/get-html-rendering";
|
||||
import {getLearningObjectRepository} from "../../../../src/data/repositories";
|
||||
import {setupTestApp} from "../../../setup-tests";
|
||||
|
||||
describe('ProcessingService', () => {
|
||||
beforeAll(async () => {
|
||||
await setupTestApp();
|
||||
});
|
||||
|
||||
it('renders a markdown learning object correctly', async () => {
|
||||
const markdownLearningObject = mdExample.createLearningObject();
|
||||
const markdownLearningObject = getLearningObjectRepository().create(testLearningObjectPnNotebooks);
|
||||
const result = await processingService.render(markdownLearningObject);
|
||||
// Set newlines so your tests are platform-independent.
|
||||
expect(result).toEqual(mdExample.getHTMLRendering().replace(/\r\n/g, '\n'));
|
||||
expect(result).toEqual(
|
||||
getHtmlRenderingForTestLearningObject(markdownLearningObject).replace(/\r\n/g, '\n')
|
||||
);
|
||||
});
|
||||
|
||||
it('renders a multiple choice question correctly', async () => {
|
||||
const multipleChoiceLearningObject = multipleChoiceExample.createLearningObject();
|
||||
const result = await processingService.render(multipleChoiceLearningObject);
|
||||
expect(result).toEqual(multipleChoiceExample.getHTMLRendering().replace(/\r\n/g, '\n'));
|
||||
const testLearningObject = getLearningObjectRepository().create(testLearningObjectMultipleChoice);
|
||||
const result = await processingService.render(testLearningObject);
|
||||
expect(result).toEqual(
|
||||
getHtmlRenderingForTestLearningObject(testLearningObjectMultipleChoice).replace(/\r\n/g, '\n')
|
||||
);
|
||||
});
|
||||
|
||||
it('renders an essay question correctly', async () => {
|
||||
const essayLearningObject = essayExample.createLearningObject();
|
||||
const essayLearningObject = getLearningObjectRepository().create(testLearningObjectEssayQuestion);
|
||||
const result = await processingService.render(essayLearningObject);
|
||||
expect(result).toEqual(essayExample.getHTMLRendering().replace(/\r\n/g, '\n'));
|
||||
expect(result).toEqual(
|
||||
getHtmlRenderingForTestLearningObject(essayLearningObject).replace(/\r\n/g, '\n')
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -15,7 +15,6 @@ import { makeTestAnswers } from './test_assets/questions/answers.testdata.js';
|
|||
import { makeTestSubmissions } from './test_assets/assignments/submission.testdata.js';
|
||||
import {Collection} from "@mikro-orm/core";
|
||||
import {Group} from "../src/entities/assignments/group.entity";
|
||||
import {LearningObject} from "../src/entities/content/learning-object.entity";
|
||||
|
||||
export async function setupTestApp(): Promise<void> {
|
||||
dotenv.config({ path: '.env.test' });
|
||||
|
@ -59,6 +58,4 @@ export async function setupTestApp(): Promise<void> {
|
|||
...answers,
|
||||
...submissions,
|
||||
]);
|
||||
|
||||
console.log(await em.findAll(LearningObject));
|
||||
}
|
||||
|
|
|
@ -179,7 +179,7 @@ export const testLearningObjectMultipleChoice: RequiredEntityData<LearningObject
|
|||
targetAges: [10, 11, 12, 13, 14, 15, 16, 17, 18],
|
||||
admins: [],
|
||||
contentType: DwengoContentType.GIFT,
|
||||
content: loadTestAsset('content/learning-object-resources/test-multiple-choice/content.txt'),
|
||||
content: loadTestAsset('content/learning-object-resources/test_multiple_choice/content.txt'),
|
||||
returnValue: {
|
||||
callbackUrl: `%SUBMISSION%`,
|
||||
callbackSchema: '["antwoord vraag 1"]',
|
||||
|
@ -205,7 +205,7 @@ export const testLearningObjectEssayQuestion: RequiredEntityData<LearningObject>
|
|||
targetAges: [10, 11, 12, 13, 14, 15, 16, 17, 18],
|
||||
admins: [],
|
||||
contentType: DwengoContentType.GIFT,
|
||||
content: loadTestAsset('content/learning-object-resources/test-essay/content.txt'),
|
||||
content: loadTestAsset('content/learning-object-resources/test_essay_question/content.txt'),
|
||||
returnValue: {
|
||||
callbackUrl: `%SUBMISSION%`,
|
||||
callbackSchema: '["antwoord vraag 1"]',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue