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