test: group data
This commit is contained in:
		
							parent
							
								
									1f5fce3529
								
							
						
					
					
						commit
						d16584fb53
					
				
					 2 changed files with 25 additions and 15 deletions
				
			
		|  | @ -2,47 +2,56 @@ import { beforeAll, describe, expect, it } from 'vitest'; | |||
| import { setupTestApp } from '../../setup-tests'; | ||||
| import { GroupRepository } from '../../../src/data/assignments/group-repository'; | ||||
| import { getAssignmentRepository, getClassRepository, getGroupRepository } from '../../../src/data/repositories'; | ||||
| import { AssignmentRepository } from '../../../src/data/assignments/assignment-repository'; | ||||
| import { ClassRepository } from '../../../src/data/classes/class-repository'; | ||||
| import { getClass01 } from '../../test_assets/classes/classes.testdata'; | ||||
| import { getAssignment01, getAssignment02 } from '../../test_assets/assignments/assignments.testdata'; | ||||
| import { getTestGroup01, getTestGroup02, getTestGroup03 } from '../../test_assets/assignments/groups.testdata'; | ||||
| import { getDireStraits, getNoordkaap } from '../../test_assets/users/students.testdata'; | ||||
| 
 | ||||
| describe('GroupRepository', () => { | ||||
|     let groupRepository: GroupRepository; | ||||
|     let assignmentRepository: AssignmentRepository; | ||||
|     let classRepository: ClassRepository; | ||||
| 
 | ||||
|     beforeAll(async () => { | ||||
|         await setupTestApp(); | ||||
|         groupRepository = getGroupRepository(); | ||||
|         assignmentRepository = getAssignmentRepository(); | ||||
|         classRepository = getClassRepository(); | ||||
|     }); | ||||
| 
 | ||||
|     it('should return the requested group', async () => { | ||||
|         const class_ = await classRepository.findById('8764b861-90a6-42e5-9732-c0d9eb2f55f9'); | ||||
|         const assignment = await assignmentRepository.findByClassAndId(class_!, 21000); | ||||
|         const assignment = getAssignment01(); | ||||
|         const usedGroup = getTestGroup01(); | ||||
|         const member1 = getNoordkaap(); | ||||
|         const member2 = getDireStraits(); | ||||
| 
 | ||||
|         const group = await groupRepository.findByAssignmentAndGroupNumber(assignment!, 21001); | ||||
|         const group = await groupRepository.findByAssignmentAndGroupNumber(assignment!, usedGroup.groupNumber!); | ||||
| 
 | ||||
|         expect(group).toBeTruthy(); | ||||
|         expect(group?.groupNumber).toBe(usedGroup.groupNumber); | ||||
|         expect(group!.members[0].username).toBeOneOf([member1.username, member2.username]); | ||||
|         expect(group!.members[1].username).toBeOneOf([member1.username, member2.username]); | ||||
|         expect(group!.assignment.id).toBe(usedGroup.assignment.id); | ||||
|     }); | ||||
| 
 | ||||
|     it('should return all groups for assignment', async () => { | ||||
|         const class_ = await classRepository.findById('8764b861-90a6-42e5-9732-c0d9eb2f55f9'); | ||||
|         const assignment = await assignmentRepository.findByClassAndId(class_!, 21000); | ||||
|         const assignment = getAssignment01(); | ||||
|         const gr1 = getTestGroup01(); | ||||
|         const gr2 = getTestGroup02(); | ||||
|         const gr3 = getTestGroup03(); | ||||
| 
 | ||||
|         const groups = await groupRepository.findAllGroupsForAssignment(assignment!); | ||||
| 
 | ||||
|         expect(groups).toBeTruthy(); | ||||
|         expect(groups).toHaveLength(3); | ||||
|         expect(groups[0].groupNumber).toBeOneOf([gr1.groupNumber, gr2.groupNumber, gr3.groupNumber]); | ||||
|         expect(groups[1].groupNumber).toBeOneOf([gr1.groupNumber, gr2.groupNumber, gr3.groupNumber]); | ||||
|         expect(groups[2].groupNumber).toBeOneOf([gr1.groupNumber, gr2.groupNumber, gr3.groupNumber]); | ||||
|     }); | ||||
| 
 | ||||
|     it('should not find removed group', async () => { | ||||
|         const class_ = await classRepository.findById('34d484a1-295f-4e9f-bfdc-3e7a23d86a89'); | ||||
|         const assignment = await assignmentRepository.findByClassAndId(class_!, 21001); | ||||
|         const assignment = getAssignment02(); | ||||
|         const deleted = getTestGroup01(); | ||||
| 
 | ||||
|         await groupRepository.deleteByAssignmentAndGroupNumber(assignment!, 21001); | ||||
|         await groupRepository.deleteByAssignmentAndGroupNumber(assignment!, deleted.groupNumber!); | ||||
| 
 | ||||
|         const group = await groupRepository.findByAssignmentAndGroupNumber(assignment!, 1); | ||||
|         const group = await groupRepository.findByAssignmentAndGroupNumber(assignment!, deleted.groupNumber!); | ||||
| 
 | ||||
|         expect(group).toBeNull(); | ||||
|     }); | ||||
|  |  | |||
		Reference in a new issue
	
	 laurejablonski
						laurejablonski