Merge branch 'dev' into refactor/common
This commit is contained in:
		
						commit
						a4408b5bc0
					
				
					 145 changed files with 3437 additions and 2822 deletions
				
			
		|  | @ -3,9 +3,7 @@ import { setupTestApp } from '../../setup-tests'; | |||
| import { ClassJoinRequestRepository } from '../../../src/data/classes/class-join-request-repository'; | ||||
| import { getClassJoinRequestRepository, getClassRepository, getStudentRepository } from '../../../src/data/repositories'; | ||||
| import { StudentRepository } from '../../../src/data/users/student-repository'; | ||||
| import { Class } from '../../../src/entities/classes/class.entity'; | ||||
| import { ClassRepository } from '../../../src/data/classes/class-repository'; | ||||
| import { Student } from '../../../src/entities/users/student.entity'; | ||||
| 
 | ||||
| describe('ClassJoinRequestRepository', () => { | ||||
|     let classJoinRequestRepository: ClassJoinRequestRepository; | ||||
|  |  | |||
|  | @ -10,9 +10,12 @@ import { LearningObjectIdentifier } from '../../../src/entities/content/learning | |||
| 
 | ||||
| const NEWER_TEST_SUFFIX = 'nEweR'; | ||||
| 
 | ||||
| function createTestLearningObjects(learningObjectRepo: LearningObjectRepository): { older: LearningObject; newer: LearningObject } { | ||||
| async function createTestLearningObjects(learningObjectRepo: LearningObjectRepository): Promise<{ | ||||
|     older: LearningObject; | ||||
|     newer: LearningObject; | ||||
| }> { | ||||
|     const olderExample = example.createLearningObject(); | ||||
|     learningObjectRepo.save(olderExample); | ||||
|     await learningObjectRepo.save(olderExample); | ||||
| 
 | ||||
|     const newerExample = example.createLearningObject(); | ||||
|     newerExample.title = 'Newer example'; | ||||
|  | @ -32,23 +35,21 @@ describe('AttachmentRepository', () => { | |||
|     beforeAll(async () => { | ||||
|         await setupTestApp(); | ||||
|         attachmentRepo = getAttachmentRepository(); | ||||
|         exampleLearningObjects = createTestLearningObjects(getLearningObjectRepository()); | ||||
|         exampleLearningObjects = await createTestLearningObjects(getLearningObjectRepository()); | ||||
|     }); | ||||
| 
 | ||||
|     it('can add attachments to learning objects without throwing an error', () => { | ||||
|     it('can add attachments to learning objects without throwing an error', async () => { | ||||
|         attachmentsOlderLearningObject = Object.values(example.createAttachment).map((fn) => fn(exampleLearningObjects.older)); | ||||
| 
 | ||||
|         for (const attachment of attachmentsOlderLearningObject) { | ||||
|             attachmentRepo.save(attachment); | ||||
|         } | ||||
|         await Promise.all(attachmentsOlderLearningObject.map(async (attachment) => attachmentRepo.save(attachment))); | ||||
|     }); | ||||
| 
 | ||||
|     let attachmentOnlyNewer: Attachment; | ||||
|     it('allows us to add attachments with the same name to a different learning object without throwing an error', () => { | ||||
|     it('allows us to add attachments with the same name to a different learning object without throwing an error', async () => { | ||||
|         attachmentOnlyNewer = Object.values(example.createAttachment)[0](exampleLearningObjects.newer); | ||||
|         attachmentOnlyNewer.content.write(NEWER_TEST_SUFFIX); | ||||
| 
 | ||||
|         attachmentRepo.save(attachmentOnlyNewer); | ||||
|         await attachmentRepo.save(attachmentOnlyNewer); | ||||
|     }); | ||||
| 
 | ||||
|     let olderLearningObjectId: LearningObjectIdentifier; | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ import { Language } from 'dwengo-1-common/src/util/language'; | |||
| function expectToHaveFoundPrecisely(expected: LearningPath, result: LearningPath[]): void { | ||||
|     expect(result).toHaveProperty('length'); | ||||
|     expect(result.length).toBe(1); | ||||
|     expectToBeCorrectEntity({ entity: result[0]! }, { entity: expected }); | ||||
|     expectToBeCorrectEntity({ entity: result[0] }, { entity: expected }); | ||||
| } | ||||
| 
 | ||||
| function expectToHaveFoundNothing(result: LearningPath[]): void { | ||||
|  |  | |||
|  | @ -23,9 +23,9 @@ describe('AnswerRepository', () => { | |||
|         const id = new LearningObjectIdentifier('id05', Language.English, 1); | ||||
|         const questions = await questionRepository.findAllQuestionsAboutLearningObject(id); | ||||
| 
 | ||||
|         const question = questions.filter((it) => it.sequenceNumber == 2)[0]; | ||||
|         const question = questions.find((it) => it.sequenceNumber === 2); | ||||
| 
 | ||||
|         const answers = await answerRepository.findAllAnswersToQuestion(question); | ||||
|         const answers = await answerRepository.findAllAnswersToQuestion(question!); | ||||
| 
 | ||||
|         expect(answers).toBeTruthy(); | ||||
|         expect(answers).toHaveLength(2); | ||||
|  |  | |||
|  | @ -2,21 +2,18 @@ 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 { 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'; | ||||
| 
 | ||||
| describe('QuestionRepository', () => { | ||||
|     let questionRepository: QuestionRepository; | ||||
|     let studentRepository: StudentRepository; | ||||
|     let learningObjectRepository: LearningObjectRepository; | ||||
| 
 | ||||
|     beforeAll(async () => { | ||||
|         await setupTestApp(); | ||||
|         questionRepository = getQuestionRepository(); | ||||
|         studentRepository = getStudentRepository(); | ||||
|         learningObjectRepository = getLearningObjectRepository(); | ||||
|     }); | ||||
| 
 | ||||
|     it('should return all questions part of the given learning object', async () => { | ||||
|  |  | |||
		Reference in a new issue