236 lines
8.7 KiB
TypeScript
236 lines
8.7 KiB
TypeScript
import { EntityManager } from '@mikro-orm/core';
|
|
import { LearningPath } from '../../../src/entities/content/learning-path.entity';
|
|
import { Language } from '@dwengo-1/common/util/language';
|
|
import { mapToLearningPath } from '../../../src/services/learning-paths/learning-path-service';
|
|
import { envVars, getEnvVar } from '../../../src/util/envVars';
|
|
import { LearningPath as LearningPathDTO } from '@dwengo-1/common/interfaces/learning-content';
|
|
import {
|
|
testLearningObject01,
|
|
testLearningObject02,
|
|
testLearningObject03,
|
|
testLearningObject04,
|
|
testLearningObject05,
|
|
testLearningObjectEssayQuestion,
|
|
testLearningObjectMultipleChoice,
|
|
testLearningObjectPnNotebooks,
|
|
} from './learning-objects.testdata';
|
|
|
|
export function makeTestLearningPaths(_em: EntityManager): LearningPath[] {
|
|
const learningPath01 = mapToLearningPath(testLearningPath01, []);
|
|
const learningPath02 = mapToLearningPath(testLearningPath02, []);
|
|
|
|
const partiallyDatabasePartiallyDwengoApiLearningPath = mapToLearningPath(testPartiallyDatabaseAndPartiallyDwengoApiLearningPath, []);
|
|
const learningPathWithConditions = mapToLearningPath(testLearningPathWithConditions, []);
|
|
|
|
return [learningPath01, learningPath02, partiallyDatabasePartiallyDwengoApiLearningPath, learningPathWithConditions];
|
|
}
|
|
|
|
const nowString = new Date().toString();
|
|
|
|
export const testLearningPath01: LearningPathDTO = {
|
|
keywords: 'test',
|
|
target_ages: [16, 17, 18],
|
|
hruid: `${getEnvVar(envVars.UserContentPrefix)}id01`,
|
|
language: Language.English,
|
|
title: 'repertoire Tool',
|
|
description: 'all about Tool',
|
|
nodes: [
|
|
{
|
|
learningobject_hruid: testLearningObject01.hruid,
|
|
language: testLearningObject01.language,
|
|
version: testLearningObject01.version,
|
|
start_node: true,
|
|
created_at: nowString,
|
|
updatedAt: nowString,
|
|
transitions: [
|
|
{
|
|
next: {
|
|
hruid: testLearningObject02.hruid,
|
|
language: testLearningObject02.language,
|
|
version: testLearningObject02.version,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
learningobject_hruid: testLearningObject02.hruid,
|
|
language: testLearningObject02.language,
|
|
version: testLearningObject02.version,
|
|
created_at: nowString,
|
|
updatedAt: nowString,
|
|
transitions: [],
|
|
},
|
|
],
|
|
};
|
|
|
|
export const testLearningPath02: LearningPathDTO = {
|
|
keywords: 'test',
|
|
target_ages: [16, 17, 18],
|
|
hruid: `${getEnvVar(envVars.UserContentPrefix)}id02`,
|
|
language: Language.English,
|
|
title: 'repertoire Dire Straits',
|
|
description: 'all about Dire Straits',
|
|
nodes: [
|
|
{
|
|
learningobject_hruid: testLearningObject03.hruid,
|
|
language: testLearningObject03.language,
|
|
version: testLearningObject03.version,
|
|
start_node: true,
|
|
created_at: nowString,
|
|
updatedAt: nowString,
|
|
transitions: [
|
|
{
|
|
next: {
|
|
hruid: testLearningObject04.hruid,
|
|
language: testLearningObject04.language,
|
|
version: testLearningObject04.version,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
learningobject_hruid: testLearningObject04.hruid,
|
|
language: testLearningObject04.language,
|
|
version: testLearningObject04.version,
|
|
created_at: nowString,
|
|
updatedAt: nowString,
|
|
transitions: [
|
|
{
|
|
next: {
|
|
hruid: testLearningObject05.hruid,
|
|
language: testLearningObject05.language,
|
|
version: testLearningObject05.version,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
learningobject_hruid: testLearningObject05.hruid,
|
|
language: testLearningObject05.language,
|
|
version: testLearningObject05.version,
|
|
created_at: nowString,
|
|
updatedAt: nowString,
|
|
transitions: [],
|
|
},
|
|
],
|
|
};
|
|
|
|
export const testPartiallyDatabaseAndPartiallyDwengoApiLearningPath: LearningPathDTO = {
|
|
hruid: `${getEnvVar(envVars.UserContentPrefix)}pn_werking`,
|
|
title: 'Werken met notebooks',
|
|
language: Language.Dutch,
|
|
description: 'Een korte inleiding tot Python notebooks. Hoe ga je gemakkelijk en efficiënt met de notebooks aan de slag?',
|
|
keywords: 'Python KIKS Wiskunde STEM AI',
|
|
target_ages: [14, 15, 16, 17, 18],
|
|
nodes: [
|
|
{
|
|
learningobject_hruid: testLearningObjectPnNotebooks.hruid,
|
|
language: testLearningObjectPnNotebooks.language,
|
|
version: testLearningObjectPnNotebooks.version,
|
|
start_node: true,
|
|
created_at: nowString,
|
|
updatedAt: nowString,
|
|
transitions: [
|
|
{
|
|
default: true,
|
|
next: {
|
|
hruid: 'pn_werkingnotebooks2',
|
|
language: Language.Dutch,
|
|
version: 3,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
learningobject_hruid: 'pn_werkingnotebooks2',
|
|
language: Language.Dutch,
|
|
version: 3,
|
|
created_at: nowString,
|
|
updatedAt: nowString,
|
|
transitions: [
|
|
{
|
|
default: true,
|
|
next: {
|
|
hruid: 'pn_werkingnotebooks3',
|
|
language: Language.Dutch,
|
|
version: 3,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
learningobject_hruid: 'pn_werkingnotebooks3',
|
|
language: Language.Dutch,
|
|
version: 3,
|
|
created_at: nowString,
|
|
updatedAt: nowString,
|
|
transitions: [],
|
|
},
|
|
],
|
|
};
|
|
|
|
export const testLearningPathWithConditions: LearningPathDTO = {
|
|
hruid: `${getEnvVar(envVars.UserContentPrefix)}test_conditions`,
|
|
language: Language.English,
|
|
title: 'Example learning path with conditional transitions',
|
|
description: 'This learning path was made for the purpose of testing conditional transitions',
|
|
keywords: 'test',
|
|
target_ages: [10, 11, 12, 13, 14, 15, 16, 17, 18],
|
|
nodes: [
|
|
{
|
|
learningobject_hruid: testLearningObjectMultipleChoice.hruid,
|
|
language: testLearningObjectMultipleChoice.language,
|
|
version: testLearningObjectMultipleChoice.version,
|
|
start_node: true,
|
|
created_at: nowString,
|
|
updatedAt: nowString,
|
|
transitions: [
|
|
{
|
|
// If the answer to the first question was the first one (It's difficult to follow along):
|
|
condition: '$[?(@[0] == 0)]',
|
|
next: {
|
|
//... we let the student do an extra exercise.
|
|
hruid: testLearningObject01.hruid,
|
|
language: testLearningObject01.language,
|
|
version: testLearningObject01.version,
|
|
},
|
|
},
|
|
{
|
|
// If the answer to the first question was the second one (I can follow along):
|
|
condition: '$[?(@[0] == 1)]',
|
|
next: {
|
|
//... we let the student right through to the final question.
|
|
hruid: testLearningObjectEssayQuestion.hruid,
|
|
language: testLearningObjectEssayQuestion.language,
|
|
version: testLearningObjectEssayQuestion.version,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
learningobject_hruid: testLearningObject01.hruid,
|
|
language: testLearningObject01.language,
|
|
version: testLearningObject01.version,
|
|
created_at: nowString,
|
|
updatedAt: nowString,
|
|
transitions: [
|
|
{
|
|
default: true,
|
|
next: {
|
|
hruid: testLearningObjectEssayQuestion.hruid,
|
|
language: testLearningObjectEssayQuestion.language,
|
|
version: testLearningObjectEssayQuestion.version,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
learningobject_hruid: testLearningObjectEssayQuestion.hruid,
|
|
language: testLearningObjectEssayQuestion.language,
|
|
version: testLearningObjectEssayQuestion.version,
|
|
created_at: nowString,
|
|
updatedAt: nowString,
|
|
transitions: [],
|
|
},
|
|
],
|
|
};
|