test(backend): Testdata voor voorwaardelijke overgangen toegevoegd
This commit is contained in:
parent
050c83ca33
commit
164a547dd1
4 changed files with 104 additions and 0 deletions
|
@ -0,0 +1,5 @@
|
||||||
|
const learningPathPersonalizingService = {
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
export default learningPathPersonalizingService;
|
|
@ -0,0 +1,25 @@
|
||||||
|
import {LearningObjectExample} from "../learning-object-example";
|
||||||
|
import {LearningObject} from "../../../../src/entities/content/learning-object.entity";
|
||||||
|
import {Language} from "../../../../src/entities/content/language";
|
||||||
|
import {loadTestAsset} from "../../../test-utils/load-test-asset";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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: () => {
|
||||||
|
const learningObject = new LearningObject();
|
||||||
|
learningObject.hruid = hruid;
|
||||||
|
learningObject.language = language;
|
||||||
|
learningObject.version = 1;
|
||||||
|
learningObject.title = title;
|
||||||
|
learningObject.description = "Just a dummy learning object for testing purposes";
|
||||||
|
learningObject.content = Buffer.from("Dummy content");
|
||||||
|
return learningObject;
|
||||||
|
},
|
||||||
|
createAttachment: {},
|
||||||
|
getHTMLRendering: () => loadTestAsset("learning-objects/dummy/rendering.html").toString()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,74 @@
|
||||||
|
import {LearningPath} from "../../../src/entities/content/learning-path.entity";
|
||||||
|
import {Language} from "../../../src/entities/content/language";
|
||||||
|
import testMultipleChoiceExample from "../learning-objects/test-multiple-choice/test-multiple-choice-example";
|
||||||
|
import {dummyLearningObject} from "../learning-objects/dummy/dummy-learning-object-example";
|
||||||
|
import {createLearningPathNode, createLearningPathTransition} from "./learning-path-utils";
|
||||||
|
|
||||||
|
const example: LearningPathExample = {
|
||||||
|
createLearningPath: () => {
|
||||||
|
const learningPath = new LearningPath();
|
||||||
|
learningPath.hruid = "test_conditions";
|
||||||
|
learningPath.language = Language.English;
|
||||||
|
learningPath.title = "Example learning path with conditional transitions";
|
||||||
|
learningPath.description = "This learning path was made for the purpose of testing conditional transitions";
|
||||||
|
|
||||||
|
const branchingLearningObject = testMultipleChoiceExample.createLearningObject();
|
||||||
|
const extraExerciseLearningObject = dummyLearningObject(
|
||||||
|
"test_extra_exercise", Language.English, "Extra exercise (for students with difficulties)"
|
||||||
|
).createLearningObject();
|
||||||
|
const finalLearningObject = dummyLearningObject(
|
||||||
|
"test_final_learning_object", Language.English, "Final exercise (for everyone)"
|
||||||
|
).createLearningObject();
|
||||||
|
|
||||||
|
const branchingNode = createLearningPathNode(
|
||||||
|
learningPath,
|
||||||
|
0,
|
||||||
|
branchingLearningObject.hruid,
|
||||||
|
branchingLearningObject.version,
|
||||||
|
branchingLearningObject.language,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const extraExerciseNode = createLearningPathNode(
|
||||||
|
learningPath,
|
||||||
|
1,
|
||||||
|
extraExerciseLearningObject.hruid,
|
||||||
|
extraExerciseLearningObject.version,
|
||||||
|
extraExerciseLearningObject.language,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
const finalNode = createLearningPathNode(
|
||||||
|
learningPath,
|
||||||
|
2,
|
||||||
|
finalLearningObject.hruid,
|
||||||
|
finalLearningObject.version,
|
||||||
|
finalLearningObject.language,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
const transitionToExtraExercise = createLearningPathTransition(
|
||||||
|
branchingNode,
|
||||||
|
0,
|
||||||
|
"$[?(@[0] == 0)]", // The answer to the first question was the first one, which says that it is difficult for the student to follow along.
|
||||||
|
extraExerciseNode
|
||||||
|
);
|
||||||
|
const directTransitionToFinal = createLearningPathTransition(
|
||||||
|
branchingNode,
|
||||||
|
1,
|
||||||
|
"$[?(@[0] == 1)]",
|
||||||
|
finalNode
|
||||||
|
);
|
||||||
|
const transitionExtraExerciseToFinal = createLearningPathTransition(
|
||||||
|
extraExerciseNode,
|
||||||
|
0,
|
||||||
|
"true",
|
||||||
|
finalNode
|
||||||
|
);
|
||||||
|
|
||||||
|
branchingNode.transitions = [transitionToExtraExercise, directTransitionToFinal];
|
||||||
|
extraExerciseNode.transitions = [transitionExtraExerciseToFinal];
|
||||||
|
|
||||||
|
learningPath.nodes = [branchingNode, extraExerciseNode, finalNode];
|
||||||
|
|
||||||
|
return learningPath;
|
||||||
|
}
|
||||||
|
};
|
Loading…
Add table
Add a link
Reference in a new issue