test: teacher invitation repo is getest
This commit is contained in:
		
							parent
							
								
									fb4dadcb18
								
							
						
					
					
						commit
						9b4250e72c
					
				
					 2 changed files with 89 additions and 21 deletions
				
			
		
							
								
								
									
										64
									
								
								backend/tests/data/teacher-invitation.test.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								backend/tests/data/teacher-invitation.test.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,64 @@ | ||||||
|  | import { beforeAll, describe, expect, it } from 'vitest'; | ||||||
|  | import { setupTestApp } from '../setup-tests'; | ||||||
|  | import { | ||||||
|  |     getClassRepository, | ||||||
|  |     getTeacherInvitationRepository, | ||||||
|  |     getTeacherRepository, | ||||||
|  | } from '../../src/data/repositories'; | ||||||
|  | import { TeacherInvitationRepository } from '../../src/data/classes/teacher-invitation-repository'; | ||||||
|  | import { TeacherRepository } from '../../src/data/users/teacher-repository'; | ||||||
|  | import { ClassRepository } from '../../src/data/classes/class-repository'; | ||||||
|  | 
 | ||||||
|  | describe('ClassRepository', () => { | ||||||
|  |     let TeacherInvitationRepository: TeacherInvitationRepository; | ||||||
|  |     let TeacherRepository: TeacherRepository; | ||||||
|  |     let ClassRepository: ClassRepository; | ||||||
|  | 
 | ||||||
|  |     beforeAll(async () => { | ||||||
|  |         await setupTestApp(); | ||||||
|  |         TeacherInvitationRepository = getTeacherInvitationRepository(); | ||||||
|  |         TeacherRepository = getTeacherRepository(); | ||||||
|  |         ClassRepository = getClassRepository(); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     it('should return all invitations from a teacher', async () => { | ||||||
|  |         const teacher = await TeacherRepository.findByUsername('LimpBizkit'); | ||||||
|  |         const invitations = | ||||||
|  |             await TeacherInvitationRepository.findAllInvitationsBy(teacher!); | ||||||
|  | 
 | ||||||
|  |         expect(invitations).toBeTruthy(); | ||||||
|  |         expect(invitations).toHaveLength(2); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     it('should return all invitations for a teacher', async () => { | ||||||
|  |         const teacher = await TeacherRepository.findByUsername('FooFighters'); | ||||||
|  |         const invitations = | ||||||
|  |             await TeacherInvitationRepository.findAllInvitationsFor(teacher!); | ||||||
|  | 
 | ||||||
|  |         expect(invitations).toBeTruthy(); | ||||||
|  |         expect(invitations).toHaveLength(2); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     it('should return all invitations for a class', async () => { | ||||||
|  |         const class_ = await ClassRepository.findById('id02'); | ||||||
|  |         const invitations = | ||||||
|  |             await TeacherInvitationRepository.findAllInvitationsForClass( | ||||||
|  |                 class_! | ||||||
|  |             ); | ||||||
|  | 
 | ||||||
|  |         expect(invitations).toBeTruthy(); | ||||||
|  |         expect(invitations).toHaveLength(2); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     it('should not find a removed invitation', async () => { | ||||||
|  |         const class_ = await ClassRepository.findById('id01'); | ||||||
|  |         const sender = await TeacherRepository.findByUsername('FooFighters'); | ||||||
|  |         const receiver = await TeacherRepository.findByUsername('LimpBizkit'); | ||||||
|  |         await TeacherInvitationRepository.deleteBy(class_!, sender!, receiver!); | ||||||
|  | 
 | ||||||
|  |         const invitation = | ||||||
|  |             await TeacherInvitationRepository.findAllInvitationsBy(sender!); | ||||||
|  | 
 | ||||||
|  |         expect(invitation).toHaveLength(0); | ||||||
|  |     }); | ||||||
|  | }); | ||||||
|  | @ -81,7 +81,7 @@ export async function setupTestApp() { | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     const teacher02 = em.create(Teacher, { |     const teacher02 = em.create(Teacher, { | ||||||
|         username: 'LimppBizkit', |         username: 'LimpBizkit', | ||||||
|         firstName: 'Fred', |         firstName: 'Fred', | ||||||
|         lastName: 'Durst', |         lastName: 'Durst', | ||||||
|     }); |     }); | ||||||
|  | @ -421,29 +421,29 @@ export async function setupTestApp() { | ||||||
|     // assignment01.groups.push(group03);
 |     // assignment01.groups.push(group03);
 | ||||||
|     // assignment02.groups.push(group04);
 |     // assignment02.groups.push(group04);
 | ||||||
| 
 | 
 | ||||||
|     // const teacher_invitation01 = em.create(TeacherInvitation, {
 |     const teacherInvitation01 = em.create(TeacherInvitation, { | ||||||
|     //     sender: teacher02,
 |         sender: teacher02, | ||||||
|     //     receiver: teacher01,
 |         receiver: teacher01, | ||||||
|     //     class: class02,
 |         class: class02, | ||||||
|     // });
 |     }); | ||||||
| 
 | 
 | ||||||
|     // const teacher_invitation02 = em.create(TeacherInvitation, {
 |     const teacherInvitation02 = em.create(TeacherInvitation, { | ||||||
|     //     sender: teacher02,
 |         sender: teacher02, | ||||||
|     //     receiver: teacher03,
 |         receiver: teacher03, | ||||||
|     //     class: class02,
 |         class: class02, | ||||||
|     // });
 |     }); | ||||||
| 
 | 
 | ||||||
|     // const teacher_invitation03 = em.create(TeacherInvitation, {
 |     const teacherInvitation03 = em.create(TeacherInvitation, { | ||||||
|     //     sender: teacher03,
 |         sender: teacher03, | ||||||
|     //     receiver: teacher01,
 |         receiver: teacher01, | ||||||
|     //     class: class03,
 |         class: class03, | ||||||
|     // });
 |     }); | ||||||
| 
 | 
 | ||||||
|     // const teacher_invitation04 = em.create(TeacherInvitation, {
 |     const teacherInvitation04 = em.create(TeacherInvitation, { | ||||||
|     //     sender: teacher01,
 |         sender: teacher01, | ||||||
|     //     receiver: teacher02,
 |         receiver: teacher02, | ||||||
|     //     class: class01,
 |         class: class01, | ||||||
|     // });
 |     }); | ||||||
| 
 | 
 | ||||||
|     const classJoinRequest01 = em.create(ClassJoinRequest, { |     const classJoinRequest01 = em.create(ClassJoinRequest, { | ||||||
|         requester: student05, |         requester: student05, | ||||||
|  | @ -622,5 +622,9 @@ export async function setupTestApp() { | ||||||
|         classJoinRequest02, |         classJoinRequest02, | ||||||
|         classJoinRequest03, |         classJoinRequest03, | ||||||
|         classJoinRequest04, |         classJoinRequest04, | ||||||
|  |         teacherInvitation01, | ||||||
|  |         teacherInvitation02, | ||||||
|  |         teacherInvitation03, | ||||||
|  |         teacherInvitation04, | ||||||
|     ]); |     ]); | ||||||
| } | } | ||||||
|  |  | ||||||
		Reference in a new issue
	
	 Laure Jablonski
						Laure Jablonski