test: learning path repository is volledig getest
This commit is contained in:
parent
f6b648c9d9
commit
89deb96ae4
2 changed files with 100 additions and 8 deletions
29
backend/tests/data/learning-paths.test.ts
Normal file
29
backend/tests/data/learning-paths.test.ts
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
import { beforeAll, describe, expect, it } from "vitest";
|
||||||
|
import { LearningPathRepository } from "../../src/data/content/learning-path-repository";
|
||||||
|
import { getLearningPathRepository } from "../../src/data/repositories";
|
||||||
|
import { setupTestApp } from "../setup-tests";
|
||||||
|
import { Language } from "../../src/entities/content/language";
|
||||||
|
|
||||||
|
describe('LearningPathRepository', () => {
|
||||||
|
let LearningPathRepository : LearningPathRepository;
|
||||||
|
|
||||||
|
beforeAll(async () => {
|
||||||
|
await setupTestApp();
|
||||||
|
LearningPathRepository = getLearningPathRepository();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return nothing because no match for hruid and language', async() => {
|
||||||
|
const learningPath = await LearningPathRepository.findByHruidAndLanguage('hruid_path01', Language.Dutch);
|
||||||
|
|
||||||
|
expect(learningPath).toBeNull();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return requested learning path', async() => {
|
||||||
|
const learningPath = await LearningPathRepository.findByHruidAndLanguage('hruid_path01', Language.English);
|
||||||
|
|
||||||
|
expect(learningPath).toBeTruthy();
|
||||||
|
expect(learningPath?.title).toBe('repertoire Tool');
|
||||||
|
expect(learningPath?.description).toBe('all about Tool');
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
|
@ -1,5 +1,6 @@
|
||||||
import { Language } from '../src/entities/content/language.js';
|
import { Language } from '../src/entities/content/language.js';
|
||||||
import { ContentType, LearningObject, ReturnValue } from '../src/entities/content/learning-object.entity.js';
|
import { ContentType, LearningObject, ReturnValue } from '../src/entities/content/learning-object.entity.js';
|
||||||
|
import { LearningPath, LearningPathNode, LearningPathTransition } from '../src/entities/content/learning-path.entity.js';
|
||||||
import { Student } from '../src/entities/users/student.entity.js';
|
import { Student } from '../src/entities/users/student.entity.js';
|
||||||
import { Teacher } from '../src/entities/users/teacher.entity.js';
|
import { Teacher } from '../src/entities/users/teacher.entity.js';
|
||||||
import { forkEntityManager, initORM } from '../src/orm.js';
|
import { forkEntityManager, initORM } from '../src/orm.js';
|
||||||
|
@ -23,11 +24,11 @@ export async function setupTestApp() {
|
||||||
|
|
||||||
await em.persistAndFlush([teacher01, teacher02, teacher03]);
|
await em.persistAndFlush([teacher01, teacher02, teacher03]);
|
||||||
|
|
||||||
const admins01 = [teacher01];
|
const admins01 : Array<Teacher> = [teacher01];
|
||||||
const returnValue = new ReturnValue();
|
const returnValue : ReturnValue = new ReturnValue();
|
||||||
returnValue.callbackSchema = '';
|
returnValue.callbackSchema = '';
|
||||||
returnValue.callbackUrl = '';
|
returnValue.callbackUrl = '';
|
||||||
const buffer01 = new Buffer("there's a shadow just behind me, shrouding every step i take, making every promise empty pointing every finger at me");
|
const buffer01 : Buffer = new Buffer("there's a shadow just behind me, shrouding every step i take, making every promise empty pointing every finger at me");
|
||||||
const learningObject01 = em.create(LearningObject, {
|
const learningObject01 = em.create(LearningObject, {
|
||||||
hruid: 'hruid_object01',
|
hruid: 'hruid_object01',
|
||||||
language: Language.English,
|
language: Language.English,
|
||||||
|
@ -50,13 +51,36 @@ export async function setupTestApp() {
|
||||||
content: buffer01
|
content: buffer01
|
||||||
});
|
});
|
||||||
|
|
||||||
const admins02 = [teacher02];
|
const buffer02 = new Buffer("I've been crawling on my belly clearing out what could've been I've been wallowing in my own confused and insecure delusions");
|
||||||
const buffer02 = new Buffer("cause it's always raining in my head, forget all the things I should have had said so I speak to you in riddles, because my words get in my way")
|
|
||||||
const learningObject02 = em.create(LearningObject, {
|
const learningObject02 = em.create(LearningObject, {
|
||||||
hruid: 'hruid_object02',
|
hruid: 'hruid_object02',
|
||||||
language: Language.English,
|
language: Language.English,
|
||||||
version: '1',
|
version: '1',
|
||||||
admins: admins02,
|
admins: admins01,
|
||||||
|
title: 'Aenema',
|
||||||
|
description: 'second album',
|
||||||
|
contentType: ContentType.Markdown,
|
||||||
|
keywords: [],
|
||||||
|
teacherExclusive: false,
|
||||||
|
skosConcepts: [],
|
||||||
|
educationalGoals: [],
|
||||||
|
copyright: '',
|
||||||
|
license: '',
|
||||||
|
estimatedTime: 80,
|
||||||
|
returnValue: returnValue,
|
||||||
|
available: true,
|
||||||
|
contentLocation: '',
|
||||||
|
attachments: [],
|
||||||
|
content: buffer02
|
||||||
|
});
|
||||||
|
|
||||||
|
const admins03 : Array<Teacher> = [teacher02];
|
||||||
|
const buffer03 = new Buffer("cause it's always raining in my head, forget all the things I should have had said so I speak to you in riddles, because my words get in my way")
|
||||||
|
const learningObject03 = em.create(LearningObject, {
|
||||||
|
hruid: 'hruid_object03',
|
||||||
|
language: Language.English,
|
||||||
|
version: '1',
|
||||||
|
admins: admins03,
|
||||||
title: 'Break the cycle',
|
title: 'Break the cycle',
|
||||||
description: 'second album',
|
description: 'second album',
|
||||||
contentType: ContentType.Markdown,
|
contentType: ContentType.Markdown,
|
||||||
|
@ -71,9 +95,48 @@ export async function setupTestApp() {
|
||||||
available: true,
|
available: true,
|
||||||
contentLocation: '',
|
contentLocation: '',
|
||||||
attachments: [],
|
attachments: [],
|
||||||
content: buffer02
|
content: buffer03
|
||||||
});
|
});
|
||||||
|
|
||||||
await em.persistAndFlush([learningObject01, learningObject02]);
|
await em.persistAndFlush([learningObject01, learningObject02, learningObject03]);
|
||||||
|
|
||||||
|
const learningPathNode01 : LearningPathNode = new LearningPathNode();
|
||||||
|
const learningPathNode02 : LearningPathNode = new LearningPathNode();
|
||||||
|
|
||||||
|
const transitions01 : LearningPathTransition = new LearningPathTransition();
|
||||||
|
const transitions02 : LearningPathTransition = new LearningPathTransition();
|
||||||
|
|
||||||
|
transitions01.condition = 'true';
|
||||||
|
transitions01.next = learningPathNode02;
|
||||||
|
|
||||||
|
transitions02.condition = 'true';
|
||||||
|
transitions02.next = learningPathNode01;
|
||||||
|
|
||||||
|
learningPathNode01.instruction = '';
|
||||||
|
learningPathNode01.language = Language.English;
|
||||||
|
learningPathNode01.learningObjectHruid = 'hruid_object01';
|
||||||
|
learningPathNode01.startNode = true;
|
||||||
|
learningPathNode01.transitions = [transitions01];
|
||||||
|
learningPathNode01.version = '1';
|
||||||
|
|
||||||
|
learningPathNode02.instruction = '';
|
||||||
|
learningPathNode02.language = Language.English;
|
||||||
|
learningPathNode02.learningObjectHruid = 'hruid_object02';
|
||||||
|
learningPathNode02.startNode = false;
|
||||||
|
learningPathNode02.transitions = [transitions02];
|
||||||
|
learningPathNode02.version = '1';
|
||||||
|
|
||||||
|
|
||||||
|
const nodes : Array<LearningPathNode> = []
|
||||||
|
const learningPath01 = em.create(LearningPath, {
|
||||||
|
hruid: 'hruid_path01',
|
||||||
|
language: Language.English,
|
||||||
|
admins: admins01,
|
||||||
|
title: 'repertoire Tool',
|
||||||
|
description: 'all about Tool',
|
||||||
|
image: '',
|
||||||
|
nodes: nodes
|
||||||
|
});
|
||||||
|
|
||||||
|
await em.persistAndFlush([learningPath01]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue