test: assignment repo getest
This commit is contained in:
		
							parent
							
								
									9b4250e72c
								
							
						
					
					
						commit
						73f14a4074
					
				
					 2 changed files with 80 additions and 27 deletions
				
			
		
							
								
								
									
										51
									
								
								backend/tests/data/assignments.test.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								backend/tests/data/assignments.test.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,51 @@ | |||
| import { beforeAll, describe, expect, it } from 'vitest'; | ||||
| import { setupTestApp } from '../setup-tests'; | ||||
| import { AssignmentRepository } from '../../src/data/assignments/assignment-repository'; | ||||
| import { | ||||
|     getAssignmentRepository, | ||||
|     getClassRepository, | ||||
| } from '../../src/data/repositories'; | ||||
| import { ClassRepository } from '../../src/data/classes/class-repository'; | ||||
| 
 | ||||
| describe('AssignmentRepository', () => { | ||||
|     let AssignmentRepository: AssignmentRepository; | ||||
|     let ClassRepository: ClassRepository; | ||||
| 
 | ||||
|     beforeAll(async () => { | ||||
|         await setupTestApp(); | ||||
|         AssignmentRepository = getAssignmentRepository(); | ||||
|         ClassRepository = getClassRepository(); | ||||
|     }); | ||||
| 
 | ||||
|     it('should return the requested assignment', async () => { | ||||
|         const class_ = await ClassRepository.findById('id02'); | ||||
|         const assignment = await AssignmentRepository.findByClassAndId( | ||||
|             class_!, | ||||
|             2 | ||||
|         ); | ||||
| 
 | ||||
|         expect(assignment).toBeTruthy(); | ||||
|         expect(assignment!.title).toBe('tool'); | ||||
|     }); | ||||
| 
 | ||||
|     it('should return all assignments for a class', async () => { | ||||
|         const class_ = await ClassRepository.findById('id02'); | ||||
|         const assignments = | ||||
|             await AssignmentRepository.findAllAssignmentsInClass(class_!); | ||||
| 
 | ||||
|         expect(assignments).toBeTruthy(); | ||||
|         expect(assignments).toHaveLength(1); | ||||
|     }); | ||||
| 
 | ||||
|     it('should not find removed assignment', async () => { | ||||
|         const class_ = await ClassRepository.findById('id01'); | ||||
|         await AssignmentRepository.deleteByClassAndId(class_!, 3); | ||||
| 
 | ||||
|         const assignment = await AssignmentRepository.findByClassAndId( | ||||
|             class_!, | ||||
|             3 | ||||
|         ); | ||||
| 
 | ||||
|         expect(assignment).toBeNull(); | ||||
|     }); | ||||
| }); | ||||
|  | @ -362,35 +362,35 @@ export async function setupTestApp() { | |||
|         students: studentsClass04, | ||||
|     }); | ||||
| 
 | ||||
|     // const assignment01 = em.create(Assignment, {
 | ||||
|     //     within: class01,
 | ||||
|     //     id: 1,
 | ||||
|     //     title: 'dire straits',
 | ||||
|     //     description: 'reading',
 | ||||
|     //     learningPathHruid: 'id02',
 | ||||
|     //     learningPathLanguage: Language.English,
 | ||||
|     //     groups: [],
 | ||||
|     // });
 | ||||
|     const assignment01 = em.create(Assignment, { | ||||
|         within: class01, | ||||
|         id: 1, | ||||
|         title: 'dire straits', | ||||
|         description: 'reading', | ||||
|         learningPathHruid: 'id02', | ||||
|         learningPathLanguage: Language.English, | ||||
|         groups: [], | ||||
|     }); | ||||
| 
 | ||||
|     // const assignment02 = em.create(Assignment, {
 | ||||
|     //     within: class02,
 | ||||
|     //     id: 2,
 | ||||
|     //     title: 'tool',
 | ||||
|     //     description: 'reading',
 | ||||
|     //     learningPathHruid: 'id01',
 | ||||
|     //     learningPathLanguage: Language.English,
 | ||||
|     //     groups: [],
 | ||||
|     // });
 | ||||
|     const assignment02 = em.create(Assignment, { | ||||
|         within: class02, | ||||
|         id: 2, | ||||
|         title: 'tool', | ||||
|         description: 'reading', | ||||
|         learningPathHruid: 'id01', | ||||
|         learningPathLanguage: Language.English, | ||||
|         groups: [], | ||||
|     }); | ||||
| 
 | ||||
|     // const assignment03 = em.create(Assignment, {
 | ||||
|     //     within: class01,
 | ||||
|     //     id: 3,
 | ||||
|     //     title: 'delete',
 | ||||
|     //     description: 'will be deleted',
 | ||||
|     //     learningPathHruid: 'id02',
 | ||||
|     //     learningPathLanguage: Language.English,
 | ||||
|     //     groups: [],
 | ||||
|     // });
 | ||||
|     const assignment03 = em.create(Assignment, { | ||||
|         within: class01, | ||||
|         id: 3, | ||||
|         title: 'delete', | ||||
|         description: 'will be deleted', | ||||
|         learningPathHruid: 'id02', | ||||
|         learningPathLanguage: Language.English, | ||||
|         groups: [], | ||||
|     }); | ||||
| 
 | ||||
|     // const group01 = em.create(Group, {
 | ||||
|     //     assignment: assignment01,
 | ||||
|  | @ -626,5 +626,7 @@ export async function setupTestApp() { | |||
|         teacherInvitation02, | ||||
|         teacherInvitation03, | ||||
|         teacherInvitation04, | ||||
|         assignment01, | ||||
|         assignment03, | ||||
|     ]); | ||||
| } | ||||
|  |  | |||
		Reference in a new issue
	
	 Laure Jablonski
						Laure Jablonski