fix(backend): Testen DatabaseLearningObjectProvider gerepareerd na refactoring.
This commit is contained in:
parent
ee9afab6ca
commit
51268af79c
20 changed files with 72 additions and 210 deletions
|
@ -1,32 +0,0 @@
|
|||
import { LearningObjectExample } from '../learning-object-example';
|
||||
import { LearningObject } from '../../../../../src/entities/content/learning-object.entity';
|
||||
import { Language } from '@dwengo-1/common/dist/util/language';
|
||||
import { loadTestAsset } from '../../../../test-utils/load-test-asset';
|
||||
import { DwengoContentType } from '../../../../../src/services/learning-objects/processing/content-type';
|
||||
import { envVars, getEnvVar } from '../../../../../src/util/envVars';
|
||||
|
||||
/**
|
||||
* Create a dummy learning object to be used in tests where multiple learning objects are needed (for example for use
|
||||
* on a path), but where the precise contents of the learning object are not important.
|
||||
*/
|
||||
export function dummyLearningObject(hruid: string, language: Language, title: string): LearningObjectExample {
|
||||
return {
|
||||
createLearningObject: (): LearningObject => {
|
||||
const learningObject = new LearningObject();
|
||||
learningObject.hruid = getEnvVar(envVars.UserContentPrefix) + hruid;
|
||||
learningObject.language = language;
|
||||
learningObject.version = 1;
|
||||
learningObject.title = title;
|
||||
learningObject.description = 'Just a dummy learning object for testing purposes';
|
||||
learningObject.contentType = DwengoContentType.TEXT_PLAIN;
|
||||
learningObject.content = Buffer.from('Dummy content');
|
||||
learningObject.returnValue = {
|
||||
callbackUrl: `/learningObject/${hruid}/submissions`,
|
||||
callbackSchema: '[]',
|
||||
};
|
||||
return learningObject;
|
||||
},
|
||||
createAttachment: {},
|
||||
getHTMLRendering: () => loadTestAsset('learning-objects/dummy/rendering.txt').toString(),
|
||||
};
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
import { LearningObjectExample } from '../learning-object-example';
|
||||
import { Language } from '@dwengo-1/common/dist/util/language';
|
||||
import { DwengoContentType } from '../../../../../src/services/learning-objects/processing/content-type';
|
||||
import { loadTestAsset } from '../../../../test-utils/load-test-asset';
|
||||
import { LearningObject } from '../../../../../src/entities/content/learning-object.entity';
|
||||
import { Attachment } from '../../../../../src/entities/content/attachment.entity';
|
||||
import { envVars, getEnvVar } from '../../../../../src/util/envVars';
|
||||
import { EducationalGoal } from '../../../../../src/entities/content/educational-goal.entity';
|
||||
import { ReturnValue } from '../../../../../src/entities/content/return-value.entity';
|
||||
|
||||
const ASSETS_PREFIX = 'learning-objects/pn-werkingnotebooks/';
|
||||
|
||||
const example: LearningObjectExample = {
|
||||
createLearningObject: () => {
|
||||
const learningObject = new LearningObject();
|
||||
learningObject.hruid = `${getEnvVar(envVars.UserContentPrefix)}pn_werkingnotebooks`;
|
||||
learningObject.version = 3;
|
||||
learningObject.language = Language.Dutch;
|
||||
learningObject.title = 'Werken met notebooks';
|
||||
learningObject.description = 'Leren werken met notebooks';
|
||||
learningObject.keywords = ['Python', 'KIKS', 'Wiskunde', 'STEM', 'AI'];
|
||||
|
||||
const educationalGoal1 = new EducationalGoal();
|
||||
educationalGoal1.source = 'Source';
|
||||
educationalGoal1.id = 'id';
|
||||
|
||||
const educationalGoal2 = new EducationalGoal();
|
||||
educationalGoal2.source = 'Source2';
|
||||
educationalGoal2.id = 'id2';
|
||||
|
||||
learningObject.educationalGoals = [educationalGoal1, educationalGoal2];
|
||||
learningObject.admins = [];
|
||||
learningObject.contentType = DwengoContentType.TEXT_MARKDOWN;
|
||||
learningObject.teacherExclusive = false;
|
||||
learningObject.skosConcepts = [
|
||||
'http://ilearn.ilabt.imec.be/vocab/curr1/s-vaktaal',
|
||||
'http://ilearn.ilabt.imec.be/vocab/curr1/s-digitale-media-en-toepassingen',
|
||||
'http://ilearn.ilabt.imec.be/vocab/curr1/s-computers-en-systemen',
|
||||
];
|
||||
learningObject.copyright = 'dwengo';
|
||||
learningObject.license = 'dwengo';
|
||||
learningObject.estimatedTime = 10;
|
||||
|
||||
const returnValue = new ReturnValue();
|
||||
returnValue.callbackUrl = 'callback_url_example';
|
||||
returnValue.callbackSchema = '{"att": "test", "att2": "test2"}';
|
||||
|
||||
learningObject.returnValue = returnValue;
|
||||
learningObject.available = true;
|
||||
learningObject.content = loadTestAsset(`${ASSETS_PREFIX}/content.md`);
|
||||
|
||||
return learningObject;
|
||||
},
|
||||
createAttachment: {
|
||||
dwengoLogo: (learningObject) => {
|
||||
const att = new Attachment();
|
||||
att.learningObject = learningObject;
|
||||
att.name = 'dwengo.png';
|
||||
att.mimeType = 'image/png';
|
||||
att.content = loadTestAsset(`${ASSETS_PREFIX}/dwengo.png`);
|
||||
return att;
|
||||
},
|
||||
knop: (learningObject) => {
|
||||
const att = new Attachment();
|
||||
att.learningObject = learningObject;
|
||||
att.name = 'Knop.png';
|
||||
att.mimeType = 'image/png';
|
||||
att.content = loadTestAsset(`${ASSETS_PREFIX}/Knop.png`);
|
||||
return att;
|
||||
},
|
||||
},
|
||||
getHTMLRendering: () => loadTestAsset(`${ASSETS_PREFIX}/rendering.txt`).toString(),
|
||||
};
|
||||
export default example;
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
@ -1,28 +0,0 @@
|
|||
import { LearningObjectExample } from '../learning-object-example';
|
||||
import { LearningObject } from '../../../../../src/entities/content/learning-object.entity';
|
||||
import { loadTestAsset } from '../../../../test-utils/load-test-asset';
|
||||
import { envVars, getEnvVar } from '../../../../../src/util/envVars';
|
||||
import { Language } from '@dwengo-1/common/dist/util/language';
|
||||
import { DwengoContentType } from '../../../../../src/services/learning-objects/processing/content-type';
|
||||
|
||||
const example: LearningObjectExample = {
|
||||
createLearningObject: () => {
|
||||
const learningObject = new LearningObject();
|
||||
learningObject.hruid = `${getEnvVar(envVars.UserContentPrefix)}test_essay`;
|
||||
learningObject.language = Language.English;
|
||||
learningObject.version = 1;
|
||||
learningObject.title = 'Essay question for testing';
|
||||
learningObject.description = 'This essay question was only created for testing purposes.';
|
||||
learningObject.contentType = DwengoContentType.GIFT;
|
||||
learningObject.returnValue = {
|
||||
callbackUrl: `/learningObject/${learningObject.hruid}/submissions`,
|
||||
callbackSchema: '["antwoord vraag 1"]',
|
||||
};
|
||||
learningObject.content = loadTestAsset('learning-objects/test-essay/content.txt');
|
||||
return learningObject;
|
||||
},
|
||||
createAttachment: {},
|
||||
getHTMLRendering: () => loadTestAsset('learning-objects/test-essay/rendering.txt').toString(),
|
||||
};
|
||||
|
||||
export default example;
|
|
@ -1,28 +0,0 @@
|
|||
import { LearningObjectExample } from '../learning-object-example';
|
||||
import { LearningObject } from '../../../../../src/entities/content/learning-object.entity';
|
||||
import { loadTestAsset } from '../../../../test-utils/load-test-asset';
|
||||
import { envVars, getEnvVar } from '../../../../../src/util/envVars';
|
||||
import { DwengoContentType } from '../../../../../src/services/learning-objects/processing/content-type';
|
||||
import { Language } from '@dwengo-1/common/dist/util/language';
|
||||
|
||||
const example: LearningObjectExample = {
|
||||
createLearningObject: () => {
|
||||
const learningObject = new LearningObject();
|
||||
learningObject.hruid = `${getEnvVar(envVars.UserContentPrefix)}test_multiple_choice`;
|
||||
learningObject.language = Language.English;
|
||||
learningObject.version = 1;
|
||||
learningObject.title = 'Multiple choice question for testing';
|
||||
learningObject.description = 'This multiple choice question was only created for testing purposes.';
|
||||
learningObject.contentType = DwengoContentType.GIFT;
|
||||
learningObject.returnValue = {
|
||||
callbackUrl: `/learningObject/${learningObject.hruid}/submissions`,
|
||||
callbackSchema: '["antwoord vraag 1"]',
|
||||
};
|
||||
learningObject.content = loadTestAsset('learning-objects/test-multiple-choice/content.txt');
|
||||
return learningObject;
|
||||
},
|
||||
createAttachment: {},
|
||||
getHTMLRendering: () => loadTestAsset('learning-objects/test-multiple-choice/rendering.txt').toString(),
|
||||
};
|
||||
|
||||
export default example;
|
|
@ -5,6 +5,7 @@ import {DwengoContentType} from '../../../src/services/learning-objects/processi
|
|||
import {ReturnValue} from '../../../src/entities/content/return-value.entity';
|
||||
import {envVars, getEnvVar} from "../../../src/util/envVars";
|
||||
import {loadTestAsset} from "../../test-utils/load-test-asset";
|
||||
import {v4} from "uuid";
|
||||
|
||||
export function makeTestLearningObjects(em: EntityManager): LearningObject[] {
|
||||
const returnValue: ReturnValue = new ReturnValue();
|
||||
|
@ -30,8 +31,8 @@ export function makeTestLearningObjects(em: EntityManager): LearningObject[] {
|
|||
|
||||
export function createReturnValue(): ReturnValue {
|
||||
const returnValue: ReturnValue = new ReturnValue();
|
||||
returnValue.callbackSchema = '';
|
||||
returnValue.callbackUrl = '';
|
||||
returnValue.callbackSchema = '[]';
|
||||
returnValue.callbackUrl = '%SUBMISSION%';
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
|
@ -44,6 +45,8 @@ export const testLearningObject01: RequiredEntityData<LearningObject> = {
|
|||
description: 'debute',
|
||||
contentType: DwengoContentType.TEXT_MARKDOWN,
|
||||
keywords: [],
|
||||
uuid: v4(),
|
||||
targetAges: [16, 17, 18],
|
||||
teacherExclusive: false,
|
||||
skosConcepts: [],
|
||||
educationalGoals: [],
|
||||
|
@ -235,16 +238,16 @@ export const testLearningObjectPnNotebooks: RequiredEntityData<LearningObject> =
|
|||
{
|
||||
name: "dwengo.png",
|
||||
mimeType: "image/png",
|
||||
content: loadTestAsset("/content/learning-object-resources/pn-werkingnotebooks/dwengo.png")
|
||||
content: loadTestAsset("/content/learning-object-resources/pn_werkingnotebooks/dwengo.png")
|
||||
},
|
||||
{
|
||||
name: "Knop.png",
|
||||
mimeType: "image/png",
|
||||
content: loadTestAsset("/content/learning-object-resources/pn-werkingnotebooks/Knop.png")
|
||||
content: loadTestAsset("/content/learning-object-resources/pn_werkingnotebooks/Knop.png")
|
||||
}
|
||||
],
|
||||
available: false,
|
||||
content: loadTestAsset("/content/learning-object-resources/pn-werkingnotebooks/content.md"),
|
||||
content: loadTestAsset("/content/learning-object-resources/pn_werkingnotebooks/content.md"),
|
||||
returnValue: {
|
||||
callbackUrl: "%SUBMISSION%",
|
||||
callbackSchema: "[]"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue