fix(backend): Overige falende testen gerepareerd.
This commit is contained in:
		
							parent
							
								
									c624e36680
								
							
						
					
					
						commit
						0609152cb3
					
				
					 10 changed files with 36 additions and 29 deletions
				
			
		|  | @ -1,28 +1,21 @@ | |||
| import { beforeAll, describe, expect, it } from 'vitest'; | ||||
| import { setupTestApp } from '../../setup-tests.js'; | ||||
| import { getAttachmentRepository, getLearningObjectRepository } from '../../../src/data/repositories.js'; | ||||
| import { getAttachmentRepository } from '../../../src/data/repositories.js'; | ||||
| 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 '@dwengo-1/common/util/language'; | ||||
| import { testLearningObject02 } from "../../test_assets/content/learning-objects.testdata"; | ||||
| 
 | ||||
| describe('AttachmentRepository', () => { | ||||
|     let attachmentRepository: AttachmentRepository; | ||||
|     let learningObjectRepository: LearningObjectRepository; | ||||
| 
 | ||||
|     beforeAll(async () => { | ||||
|         await setupTestApp(); | ||||
|         attachmentRepository = getAttachmentRepository(); | ||||
|         learningObjectRepository = getLearningObjectRepository(); | ||||
|     }); | ||||
| 
 | ||||
|     it('should return the requested attachment', async () => { | ||||
|         const id = new LearningObjectIdentifier('id02', Language.English, 1); | ||||
|         const learningObject = await learningObjectRepository.findByIdentifier(id); | ||||
| 
 | ||||
|         const attachment = await attachmentRepository.findByMostRecentVersionOfLearningObjectAndName( | ||||
|             learningObject!.hruid, | ||||
|             Language.English, | ||||
|             testLearningObject02.hruid, | ||||
|             testLearningObject02.language, | ||||
|             'attachment01' | ||||
|         ); | ||||
| 
 | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ import { | |||
|     testLearningObject02, | ||||
|     testLearningObject03 | ||||
| } from "../../test_assets/content/learning-objects.testdata"; | ||||
| import {v4} from "uuid"; | ||||
| 
 | ||||
| describe('LearningObjectRepository', () => { | ||||
|     let learningObjectRepository: LearningObjectRepository; | ||||
|  | @ -43,6 +44,7 @@ describe('LearningObjectRepository', () => { | |||
|         let testLearningObject01Newer = structuredClone(testLearningObject01); | ||||
|         testLearningObject01Newer.version = 10; | ||||
|         testLearningObject01Newer.title += " (nieuw)"; | ||||
|         testLearningObject01Newer.uuid = v4(); | ||||
|         testLearningObject01Newer.content = Buffer.from("This is the new content."); | ||||
|         newerExample = learningObjectRepository.create(testLearningObject01Newer); | ||||
|         await learningObjectRepository.save(newerExample); | ||||
|  |  | |||
|  | @ -4,6 +4,7 @@ import { getLearningObjectRepository } from '../../../src/data/repositories'; | |||
| import { setupTestApp } from '../../setup-tests'; | ||||
| import { LearningObjectIdentifier } from '../../../src/entities/content/learning-object-identifier'; | ||||
| import { Language } from '@dwengo-1/common/util/language'; | ||||
| import {testLearningObject01} from "../../test_assets/content/learning-objects.testdata"; | ||||
| 
 | ||||
| describe('LearningObjectRepository', () => { | ||||
|     let learningObjectRepository: LearningObjectRepository; | ||||
|  | @ -13,8 +14,8 @@ describe('LearningObjectRepository', () => { | |||
|         learningObjectRepository = getLearningObjectRepository(); | ||||
|     }); | ||||
| 
 | ||||
|     const id01 = new LearningObjectIdentifier('id01', Language.English, 1); | ||||
|     const id02 = new LearningObjectIdentifier('test_id', Language.English, 1); | ||||
|     const id01 = new LearningObjectIdentifier(testLearningObject01.hruid, testLearningObject01.language, testLearningObject01.version); | ||||
|     const id02 = new LearningObjectIdentifier('non_existing_id', Language.English, 1); | ||||
| 
 | ||||
|     it('should return the learning object that matches identifier 1', async () => { | ||||
|         const learningObject = await learningObjectRepository.findByIdentifier(id01); | ||||
|  |  | |||
|  | @ -1,26 +1,40 @@ | |||
| import { describe, expect, it } from 'vitest'; | ||||
| import mdExample from '../../../test-assets/learning-objects/pn-werkingnotebooks/pn-werkingnotebooks-example'; | ||||
| import multipleChoiceExample from '../../../test-assets/learning-objects/test-multiple-choice/test-multiple-choice-example'; | ||||
| import essayExample from '../../../test-assets/learning-objects/test-essay/test-essay-example'; | ||||
| import {beforeAll, describe, expect, it} from 'vitest'; | ||||
| import processingService from '../../../../src/services/learning-objects/processing/processing-service'; | ||||
| import { | ||||
|     testLearningObjectEssayQuestion, | ||||
|     testLearningObjectMultipleChoice, testLearningObjectPnNotebooks | ||||
| } from "../../../test_assets/content/learning-objects.testdata"; | ||||
| import {getHtmlRenderingForTestLearningObject} from "../../../test-utils/get-html-rendering"; | ||||
| import {getLearningObjectRepository} from "../../../../src/data/repositories"; | ||||
| import {setupTestApp} from "../../../setup-tests"; | ||||
| 
 | ||||
| describe('ProcessingService', () => { | ||||
|     beforeAll(async () => { | ||||
|         await setupTestApp(); | ||||
|     }); | ||||
| 
 | ||||
|     it('renders a markdown learning object correctly', async () => { | ||||
|         const markdownLearningObject = mdExample.createLearningObject(); | ||||
|         const markdownLearningObject = getLearningObjectRepository().create(testLearningObjectPnNotebooks); | ||||
|         const result = await processingService.render(markdownLearningObject); | ||||
|         // Set newlines so your tests are platform-independent.
 | ||||
|         expect(result).toEqual(mdExample.getHTMLRendering().replace(/\r\n/g, '\n')); | ||||
|         expect(result).toEqual( | ||||
|             getHtmlRenderingForTestLearningObject(markdownLearningObject).replace(/\r\n/g, '\n') | ||||
|         ); | ||||
|     }); | ||||
| 
 | ||||
|     it('renders a multiple choice question correctly', async () => { | ||||
|         const multipleChoiceLearningObject = multipleChoiceExample.createLearningObject(); | ||||
|         const result = await processingService.render(multipleChoiceLearningObject); | ||||
|         expect(result).toEqual(multipleChoiceExample.getHTMLRendering().replace(/\r\n/g, '\n')); | ||||
|         const testLearningObject = getLearningObjectRepository().create(testLearningObjectMultipleChoice); | ||||
|         const result = await processingService.render(testLearningObject); | ||||
|         expect(result).toEqual( | ||||
|             getHtmlRenderingForTestLearningObject(testLearningObjectMultipleChoice).replace(/\r\n/g, '\n') | ||||
|         ); | ||||
|     }); | ||||
| 
 | ||||
|     it('renders an essay question correctly', async () => { | ||||
|         const essayLearningObject = essayExample.createLearningObject(); | ||||
|         const essayLearningObject = getLearningObjectRepository().create(testLearningObjectEssayQuestion); | ||||
|         const result = await processingService.render(essayLearningObject); | ||||
|         expect(result).toEqual(essayExample.getHTMLRendering().replace(/\r\n/g, '\n')); | ||||
|         expect(result).toEqual( | ||||
|             getHtmlRenderingForTestLearningObject(essayLearningObject).replace(/\r\n/g, '\n') | ||||
|         ); | ||||
|     }); | ||||
| }); | ||||
|  |  | |||
|  | @ -15,7 +15,6 @@ import { makeTestAnswers } from './test_assets/questions/answers.testdata.js'; | |||
| import { makeTestSubmissions } from './test_assets/assignments/submission.testdata.js'; | ||||
| import {Collection} from "@mikro-orm/core"; | ||||
| import {Group} from "../src/entities/assignments/group.entity"; | ||||
| import {LearningObject} from "../src/entities/content/learning-object.entity"; | ||||
| 
 | ||||
| export async function setupTestApp(): Promise<void> { | ||||
|     dotenv.config({ path: '.env.test' }); | ||||
|  | @ -59,6 +58,4 @@ export async function setupTestApp(): Promise<void> { | |||
|         ...answers, | ||||
|         ...submissions, | ||||
|     ]); | ||||
| 
 | ||||
|     console.log(await em.findAll(LearningObject)); | ||||
| } | ||||
|  |  | |||
|  | @ -179,7 +179,7 @@ export const testLearningObjectMultipleChoice: RequiredEntityData<LearningObject | |||
|     targetAges: [10, 11, 12, 13, 14, 15, 16, 17, 18], | ||||
|     admins: [], | ||||
|     contentType: DwengoContentType.GIFT, | ||||
|     content: loadTestAsset('content/learning-object-resources/test-multiple-choice/content.txt'), | ||||
|     content: loadTestAsset('content/learning-object-resources/test_multiple_choice/content.txt'), | ||||
|     returnValue: { | ||||
|         callbackUrl: `%SUBMISSION%`, | ||||
|         callbackSchema: '["antwoord vraag 1"]', | ||||
|  | @ -205,7 +205,7 @@ export const testLearningObjectEssayQuestion: RequiredEntityData<LearningObject> | |||
|     targetAges: [10, 11, 12, 13, 14, 15, 16, 17, 18], | ||||
|     admins: [], | ||||
|     contentType: DwengoContentType.GIFT, | ||||
|     content: loadTestAsset('content/learning-object-resources/test-essay/content.txt'), | ||||
|     content: loadTestAsset('content/learning-object-resources/test_essay_question/content.txt'), | ||||
|     returnValue: { | ||||
|         callbackUrl: `%SUBMISSION%`, | ||||
|         callbackSchema: '["antwoord vraag 1"]', | ||||
|  |  | |||
		Reference in a new issue
	
	 Gerald Schmittinger
						Gerald Schmittinger