test(frontend): searchLearningPathsByAdmin
This commit is contained in:
parent
1639fbdabf
commit
965ba5dd20
2 changed files with 30 additions and 1 deletions
|
@ -14,11 +14,14 @@ import {
|
|||
testLearningObjectEssayQuestion,
|
||||
testLearningObjectMultipleChoice,
|
||||
} from '../../test_assets/content/learning-objects.testdata';
|
||||
import { testLearningPathWithConditions } from '../../test_assets/content/learning-paths.testdata';
|
||||
import { testLearningPath02, testLearningPathWithConditions } from '../../test_assets/content/learning-paths.testdata';
|
||||
import { mapToLearningPath } from '../../../src/services/learning-paths/learning-path-service';
|
||||
import { getTestGroup01, getTestGroup02 } from '../../test_assets/assignments/groups.testdata';
|
||||
import { Group } from '../../../src/entities/assignments/group.entity.js';
|
||||
import { Teacher } from '../../../src/entities/users/teacher.entity.js';
|
||||
import { RequiredEntityData } from '@mikro-orm/core';
|
||||
import { getFooFighters, getLimpBizkit } from '../../test_assets/users/teachers.testdata';
|
||||
import { mapToTeacherDTO } from '../../../src/interfaces/teacher';
|
||||
|
||||
function expectBranchingObjectNode(result: LearningPathResponse): LearningObjectNode {
|
||||
const branchingObjectMatches = result.data![0].nodes.filter((it) => it.learningobject_hruid === testLearningObjectMultipleChoice.hruid);
|
||||
|
@ -33,6 +36,8 @@ describe('DatabaseLearningPathProvider', () => {
|
|||
let finalLearningObject: RequiredEntityData<LearningObject>;
|
||||
let groupA: Group;
|
||||
let groupB: Group;
|
||||
let teacherA: Teacher;
|
||||
let teacherB: Teacher;
|
||||
|
||||
beforeAll(async () => {
|
||||
await setupTestApp();
|
||||
|
@ -42,6 +47,8 @@ describe('DatabaseLearningPathProvider', () => {
|
|||
finalLearningObject = testLearningObjectEssayQuestion;
|
||||
groupA = getTestGroup01();
|
||||
groupB = getTestGroup02();
|
||||
teacherA = getFooFighters();
|
||||
teacherB = getLimpBizkit();
|
||||
|
||||
// Place different submissions for group A and B.
|
||||
const submissionRepo = getSubmissionRepository();
|
||||
|
@ -140,4 +147,24 @@ describe('DatabaseLearningPathProvider', () => {
|
|||
expect(result.length).toBe(0);
|
||||
});
|
||||
});
|
||||
|
||||
describe('searchLearningPathsByAdmin', () => {
|
||||
it('returns the learning path owned by the admin', async () => {
|
||||
const expectedLearningPath = mapToLearningPath(testLearningPath02, [mapToTeacherDTO(teacherB)]);
|
||||
const result = await databaseLearningPathProvider.searchLearningPathsByAdmin(
|
||||
[teacherB],
|
||||
expectedLearningPath.language
|
||||
);
|
||||
expect(result.length).toBe(1);
|
||||
expect(result[0].title).toBe(expectedLearningPath.title);
|
||||
expect(result[0].description).toBe(expectedLearningPath.description);
|
||||
});
|
||||
it('returns an empty result when querying admins that do not have custom learning paths', async() => {
|
||||
const result = await databaseLearningPathProvider.searchLearningPathsByAdmin(
|
||||
[teacherA],
|
||||
testLearningPath.language
|
||||
);
|
||||
expect(result.length).toBe(0);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -14,10 +14,12 @@ import {
|
|||
testLearningObjectMultipleChoice,
|
||||
testLearningObjectPnNotebooks,
|
||||
} from './learning-objects.testdata';
|
||||
import { getLimpBizkit } from '../users/teachers.testdata';
|
||||
|
||||
export function makeTestLearningPaths(_em: EntityManager): LearningPath[] {
|
||||
const learningPath01 = mapToLearningPath(testLearningPath01, []);
|
||||
const learningPath02 = mapToLearningPath(testLearningPath02, []);
|
||||
learningPath02.admins = [getLimpBizkit()];
|
||||
|
||||
const partiallyDatabasePartiallyDwengoApiLearningPath = mapToLearningPath(testPartiallyDatabaseAndPartiallyDwengoApiLearningPath, []);
|
||||
const learningPathWithConditions = mapToLearningPath(testLearningPathWithConditions, []);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue