refactor(common): Language
This commit is contained in:
parent
5a90862098
commit
bef6c6f75b
48 changed files with 71 additions and 56 deletions
|
@ -9,11 +9,11 @@ import {
|
|||
getSubmissionRepository,
|
||||
} from '../../../src/data/repositories';
|
||||
import { LearningObjectIdentifier } from '../../../src/entities/content/learning-object-identifier';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import { StudentRepository } from '../../../src/data/users/student-repository';
|
||||
import { GroupRepository } from '../../../src/data/assignments/group-repository';
|
||||
import { AssignmentRepository } from '../../../src/data/assignments/assignment-repository';
|
||||
import { ClassRepository } from '../../../src/data/classes/class-repository';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
|
||||
describe('SubmissionRepository', () => {
|
||||
let submissionRepository: SubmissionRepository;
|
||||
|
|
|
@ -4,7 +4,7 @@ import { getAttachmentRepository, getLearningObjectRepository } from '../../../s
|
|||
import { AttachmentRepository } from '../../../src/data/content/attachment-repository.js';
|
||||
import { LearningObjectRepository } from '../../../src/data/content/learning-object-repository.js';
|
||||
import { LearningObjectIdentifier } from '../../../src/entities/content/learning-object-identifier.js';
|
||||
import { Language } from '../../../src/entities/content/language.js';
|
||||
import { Language } from 'dwengo-1-common/src/util/language.js';
|
||||
|
||||
describe('AttachmentRepository', () => {
|
||||
let attachmentRepository: AttachmentRepository;
|
||||
|
|
|
@ -3,7 +3,7 @@ import { LearningObjectRepository } from '../../../src/data/content/learning-obj
|
|||
import { getLearningObjectRepository } from '../../../src/data/repositories';
|
||||
import { setupTestApp } from '../../setup-tests';
|
||||
import { LearningObjectIdentifier } from '../../../src/entities/content/learning-object-identifier';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
|
||||
describe('LearningObjectRepository', () => {
|
||||
let learningObjectRepository: LearningObjectRepository;
|
||||
|
|
|
@ -5,7 +5,7 @@ import { LearningPathRepository } from '../../../src/data/content/learning-path-
|
|||
import example from '../../test-assets/learning-paths/pn-werking-example.js';
|
||||
import { LearningPath } from '../../../src/entities/content/learning-path.entity.js';
|
||||
import { expectToBeCorrectEntity } from '../../test-utils/expectations.js';
|
||||
import { Language } from '../../../src/entities/content/language.js';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
|
||||
function expectToHaveFoundPrecisely(expected: LearningPath, result: LearningPath[]): void {
|
||||
expect(result).toHaveProperty('length');
|
||||
|
|
|
@ -2,7 +2,7 @@ import { beforeAll, describe, expect, it } from 'vitest';
|
|||
import { getLearningPathRepository } from '../../../src/data/repositories';
|
||||
import { LearningPathRepository } from '../../../src/data/content/learning-path-repository';
|
||||
import { setupTestApp } from '../../setup-tests';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
|
||||
describe('LearningPathRepository', () => {
|
||||
let learningPathRepository: LearningPathRepository;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import { beforeAll, describe, expect, it } from 'vitest';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { setupTestApp } from '../../setup-tests';
|
||||
import { AnswerRepository } from '../../../src/data/questions/answer-repository';
|
||||
import { getAnswerRepository, getQuestionRepository, getTeacherRepository } from '../../../src/data/repositories';
|
||||
import { QuestionRepository } from '../../../src/data/questions/question-repository';
|
||||
import { LearningObjectIdentifier } from '../../../src/entities/content/learning-object-identifier';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import { TeacherRepository } from '../../../src/data/users/teacher-repository';
|
||||
|
||||
describe('AnswerRepository', () => {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import { beforeAll, describe, expect, it } from 'vitest';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { setupTestApp } from '../../setup-tests';
|
||||
import { QuestionRepository } from '../../../src/data/questions/question-repository';
|
||||
import { getLearningObjectRepository, getQuestionRepository, getStudentRepository } from '../../../src/data/repositories';
|
||||
import { StudentRepository } from '../../../src/data/users/student-repository';
|
||||
import { LearningObjectRepository } from '../../../src/data/content/learning-object-repository';
|
||||
import { LearningObjectIdentifier } from '../../../src/entities/content/learning-object-identifier';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
|
||||
describe('QuestionRepository', () => {
|
||||
let questionRepository: QuestionRepository;
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
import { beforeAll, describe, expect, it } from 'vitest';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { setupTestApp } from '../../setup-tests';
|
||||
import { getLearningObjectRepository, getLearningPathRepository } from '../../../src/data/repositories';
|
||||
import example from '../../test-assets/learning-objects/pn-werkingnotebooks/pn-werkingnotebooks-example';
|
||||
import learningObjectExample from '../../test-assets/learning-objects/pn-werkingnotebooks/pn-werkingnotebooks-example';
|
||||
import { LearningObject } from '../../../src/entities/content/learning-object.entity';
|
||||
import databaseLearningObjectProvider from '../../../src/services/learning-objects/database-learning-object-provider';
|
||||
import { expectToBeCorrectFilteredLearningObject } from '../../test-utils/expectations';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import learningObjectExample from '../../test-assets/learning-objects/pn-werkingnotebooks/pn-werkingnotebooks-example';
|
||||
import learningPathExample from '../../test-assets/learning-paths/pn-werking-example';
|
||||
import { LearningPath } from '../../../src/entities/content/learning-path.entity';
|
||||
import {FilteredLearningObject} from "dwengo-1-common/src/interfaces/learning-content";
|
||||
import { FilteredLearningObject } from 'dwengo-1-common/src/interfaces/learning-content';
|
||||
|
||||
async function initExampleData(): Promise<{ learningObject: LearningObject; learningPath: LearningPath }> {
|
||||
const learningObjectRepo = getLearningObjectRepository();
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
import { beforeAll, describe, expect, it } from 'vitest';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { setupTestApp } from '../../setup-tests';
|
||||
import { LearningObject } from '../../../src/entities/content/learning-object.entity';
|
||||
import { getLearningObjectRepository, getLearningPathRepository } from '../../../src/data/repositories';
|
||||
import learningObjectExample from '../../test-assets/learning-objects/pn-werkingnotebooks/pn-werkingnotebooks-example';
|
||||
import learningObjectService from '../../../src/services/learning-objects/learning-object-service';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import { EnvVars, getEnvVar } from '../../../src/util/envvars';
|
||||
import { LearningPath } from '../../../src/entities/content/learning-path.entity';
|
||||
import learningPathExample from '../../test-assets/learning-paths/pn-werking-example';
|
||||
import {LearningObjectIdentifier, LearningPathIdentifier} from "dwengo-1-common/src/interfaces/learning-content";
|
||||
import { LearningObjectIdentifier, LearningPathIdentifier } from 'dwengo-1-common/src/interfaces/learning-content';
|
||||
|
||||
const EXPECTED_DWENGO_LEARNING_OBJECT_TITLE = 'Werken met notebooks';
|
||||
const DWENGO_TEST_LEARNING_OBJECT_ID: LearningObjectIdentifier = {
|
||||
|
@ -105,7 +105,10 @@ describe('LearningObjectService', () => {
|
|||
expect(new Set(result.map((it) => it.key))).toEqual(DWENGO_TEST_LEARNING_PATH_HRUIDS);
|
||||
});
|
||||
it('returns an empty list when queried with a non-existing learning path id', async () => {
|
||||
const result = await learningObjectService.getLearningObjectsFromPath({ hruid: 'non_existing', language: Language.Dutch });
|
||||
const result = await learningObjectService.getLearningObjectsFromPath({
|
||||
hruid: 'non_existing',
|
||||
language: Language.Dutch,
|
||||
});
|
||||
expect(result).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
@ -120,7 +123,10 @@ describe('LearningObjectService', () => {
|
|||
expect(new Set(result)).toEqual(DWENGO_TEST_LEARNING_PATH_HRUIDS);
|
||||
});
|
||||
it('returns an empty list when queried with a non-existing learning path id', async () => {
|
||||
const result = await learningObjectService.getLearningObjectIdsFromPath({ hruid: 'non_existing', language: Language.Dutch });
|
||||
const result = await learningObjectService.getLearningObjectIdsFromPath({
|
||||
hruid: 'non_existing',
|
||||
language: Language.Dutch,
|
||||
});
|
||||
expect(result).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { beforeAll, describe, expect, it } from 'vitest';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { LearningObject } from '../../../src/entities/content/learning-object.entity.js';
|
||||
import { setupTestApp } from '../../setup-tests.js';
|
||||
import { LearningPath } from '../../../src/entities/content/learning-path.entity.js';
|
||||
|
@ -13,14 +14,13 @@ import learningPathExample from '../../test-assets/learning-paths/pn-werking-exa
|
|||
import databaseLearningPathProvider from '../../../src/services/learning-paths/database-learning-path-provider.js';
|
||||
import { expectToBeCorrectLearningPath } from '../../test-utils/expectations.js';
|
||||
import learningObjectService from '../../../src/services/learning-objects/learning-object-service.js';
|
||||
import { Language } from '../../../src/entities/content/language.js';
|
||||
import {
|
||||
ConditionTestLearningPathAndLearningObjects,
|
||||
createConditionTestLearningPathAndLearningObjects,
|
||||
} from '../../test-assets/learning-paths/test-conditions-example.js';
|
||||
import { Student } from '../../../src/entities/users/student.entity.js';
|
||||
|
||||
import {LearningObjectNode, LearningPathResponse} from "dwengo-1-common/src/interfaces/learning-content";
|
||||
import { LearningObjectNode, LearningPathResponse } from 'dwengo-1-common/src/interfaces/learning-content';
|
||||
|
||||
async function initExampleData(): Promise<{ learningObject: LearningObject; learningPath: LearningPath }> {
|
||||
const learningObjectRepo = getLearningObjectRepository();
|
||||
|
@ -105,7 +105,11 @@ function expectBranchingObjectNode(
|
|||
|
||||
describe('DatabaseLearningPathProvider', () => {
|
||||
let example: { learningObject: LearningObject; learningPath: LearningPath };
|
||||
let persTestData: { learningContent: ConditionTestLearningPathAndLearningObjects; studentA: Student; studentB: Student };
|
||||
let persTestData: {
|
||||
learningContent: ConditionTestLearningPathAndLearningObjects;
|
||||
studentA: Student;
|
||||
studentB: Student;
|
||||
};
|
||||
|
||||
beforeAll(async () => {
|
||||
await setupTestApp();
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import { beforeAll, describe, expect, it } from 'vitest';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { setupTestApp } from '../../setup-tests';
|
||||
import { LearningObject } from '../../../src/entities/content/learning-object.entity';
|
||||
import { LearningPath } from '../../../src/entities/content/learning-path.entity';
|
||||
import { getLearningObjectRepository, getLearningPathRepository } from '../../../src/data/repositories';
|
||||
import learningObjectExample from '../../test-assets/learning-objects/pn-werkingnotebooks/pn-werkingnotebooks-example';
|
||||
import learningPathExample from '../../test-assets/learning-paths/pn-werking-example';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import learningPathService from '../../../src/services/learning-paths/learning-path-service';
|
||||
|
||||
async function initExampleData(): Promise<{ learningObject: LearningObject; learningPath: LearningPath }> {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { LearningObjectExample } from '../learning-object-example';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { LearningObject } from '../../../../src/entities/content/learning-object.entity';
|
||||
import { Language } from '../../../../src/entities/content/language';
|
||||
import { loadTestAsset } from '../../../test-utils/load-test-asset';
|
||||
import { DwengoContentType } from '../../../../src/services/learning-objects/processing/content-type';
|
||||
import { EnvVars, getEnvVar } from '../../../../src/util/envvars';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { LearningObjectExample } from '../learning-object-example';
|
||||
import { Language } from '../../../../src/entities/content/language';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { DwengoContentType } from '../../../../src/services/learning-objects/processing/content-type';
|
||||
import { loadTestAsset } from '../../../test-utils/load-test-asset';
|
||||
import { EducationalGoal, LearningObject, ReturnValue } from '../../../../src/entities/content/learning-object.entity';
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { LearningObjectExample } from '../learning-object-example';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { LearningObject } from '../../../../src/entities/content/learning-object.entity';
|
||||
import { loadTestAsset } from '../../../test-utils/load-test-asset';
|
||||
import { EnvVars, getEnvVar } from '../../../../src/util/envvars';
|
||||
import { Language } from '../../../../src/entities/content/language';
|
||||
import { DwengoContentType } from '../../../../src/services/learning-objects/processing/content-type';
|
||||
|
||||
const example: LearningObjectExample = {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { LearningObjectExample } from '../learning-object-example';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { LearningObject } from '../../../../src/entities/content/learning-object.entity';
|
||||
import { loadTestAsset } from '../../../test-utils/load-test-asset';
|
||||
import { EnvVars, getEnvVar } from '../../../../src/util/envvars';
|
||||
import { Language } from '../../../../src/entities/content/language';
|
||||
import { DwengoContentType } from '../../../../src/services/learning-objects/processing/content-type';
|
||||
|
||||
const example: LearningObjectExample = {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { Language } from '../../../src/entities/content/language';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { LearningPathTransition } from '../../../src/entities/content/learning-path-transition.entity';
|
||||
import { LearningPathNode } from '../../../src/entities/content/learning-path-node.entity';
|
||||
import { LearningPath } from '../../../src/entities/content/learning-path.entity';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { LearningPath } from '../../../src/entities/content/learning-path.entity';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { EnvVars, getEnvVar } from '../../../src/util/envvars';
|
||||
import { createLearningPathNode, createLearningPathTransition } from './learning-path-utils';
|
||||
import { LearningPathNode } from '../../../src/entities/content/learning-path-node.entity';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { LearningPath } from '../../../src/entities/content/learning-path.entity';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import { Language } from 'dwengo-1-common/src/util/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';
|
||||
|
|
|
@ -2,7 +2,7 @@ import { AssertionError } from 'node:assert';
|
|||
import { LearningObject } from '../../src/entities/content/learning-object.entity';
|
||||
import { LearningPath as LearningPathEntity } from '../../src/entities/content/learning-path.entity';
|
||||
import { expect } from 'vitest';
|
||||
import {FilteredLearningObject, LearningPath} from "dwengo-1-common/src/interfaces/learning-content";
|
||||
import { FilteredLearningObject, LearningPath } from 'dwengo-1-common/src/interfaces/learning-content';
|
||||
|
||||
// Ignored properties because they belang for example to the class, not to the entity itself.
|
||||
const IGNORE_PROPERTIES = ['parent'];
|
||||
|
@ -12,7 +12,13 @@ const IGNORE_PROPERTIES = ['parent'];
|
|||
* @param actual The actual entity retrieved from the database
|
||||
* @param expected The (previously added) entity we would expect to retrieve
|
||||
*/
|
||||
export function expectToBeCorrectEntity<T extends object>(actual: { entity: T; name?: string }, expected: { entity: T; name?: string }): void {
|
||||
export function expectToBeCorrectEntity<T extends object>(
|
||||
actual: { entity: T; name?: string },
|
||||
expected: {
|
||||
entity: T;
|
||||
name?: string;
|
||||
}
|
||||
): void {
|
||||
if (!actual.name) {
|
||||
actual.name = 'actual';
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Connection, EntityManager, IDatabaseDriver } from '@mikro-orm/core';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { Assignment } from '../../../src/entities/assignments/assignment.entity';
|
||||
import { Class } from '../../../src/entities/classes/class.entity';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
|
||||
export function makeTestAssignemnts(em: EntityManager<IDatabaseDriver<Connection>>, classes: Array<Class>): Array<Assignment> {
|
||||
const assignment01 = em.create(Assignment, {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Connection, EntityManager, IDatabaseDriver } from '@mikro-orm/core';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { Submission } from '../../../src/entities/assignments/submission.entity';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import { Student } from '../../../src/entities/users/student.entity';
|
||||
import { Group } from '../../../src/entities/assignments/group.entity';
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Connection, EntityManager, IDatabaseDriver } from '@mikro-orm/core';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { LearningObject, ReturnValue } from '../../../src/entities/content/learning-object.entity';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import { DwengoContentType } from '../../../src/services/learning-objects/processing/content-type';
|
||||
|
||||
export function makeTestLearningObjects(em: EntityManager<IDatabaseDriver<Connection>>): Array<LearningObject> {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Connection, EntityManager, IDatabaseDriver } from '@mikro-orm/core';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { LearningPath } from '../../../src/entities/content/learning-path.entity';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import { LearningPathTransition } from '../../../src/entities/content/learning-path-transition.entity';
|
||||
import { LearningPathNode } from '../../../src/entities/content/learning-path-node.entity';
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Connection, EntityManager, IDatabaseDriver } from '@mikro-orm/core';
|
||||
import { Language } from 'dwengo-1-common/src/util/language';
|
||||
import { Question } from '../../../src/entities/questions/question.entity';
|
||||
import { Language } from '../../../src/entities/content/language';
|
||||
import { Student } from '../../../src/entities/users/student.entity';
|
||||
|
||||
export function makeTestQuestions(em: EntityManager<IDatabaseDriver<Connection>>, students: Array<Student>): Array<Question> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue