fix: teacher entity had geen constructor
This commit is contained in:
		
							parent
							
								
									5502c6c58e
								
							
						
					
					
						commit
						cc459ce6bb
					
				
					 1 changed files with 51 additions and 0 deletions
				
			
		|  | @ -0,0 +1,51 @@ | ||||||
|  | import { setupTestApp } from '../setup-tests.js'; | ||||||
|  | import { describe, it, expect, beforeAll } from 'vitest'; | ||||||
|  | import { TeacherRepository } from '../../src/data/users/teacher-repository.js'; | ||||||
|  | import { Teacher } from '../../src/entities/users/teacher.entity.js'; | ||||||
|  | import { getTeacherRepository } from '../../src/data/repositories.js'; | ||||||
|  | 
 | ||||||
|  | const username = 'testteacher'; | ||||||
|  | const firstName = 'John'; | ||||||
|  | const lastName = 'Doe'; | ||||||
|  | describe('TeacherRepository', () => { | ||||||
|  |     let TeacherRepository: TeacherRepository; | ||||||
|  | 
 | ||||||
|  |     beforeAll(async () => { | ||||||
|  |         await setupTestApp(); | ||||||
|  |         TeacherRepository = getTeacherRepository(); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     it('should not return a teacher because username does not exist', async() => { | ||||||
|  |         const student = await TeacherRepository.findByUsername('test'); | ||||||
|  | 
 | ||||||
|  |         expect(student).toBeNull(); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     it('should return teacher from the datbase', async() => { | ||||||
|  |         const student = await TeacherRepository.findByUsername('Tool'); | ||||||
|  | 
 | ||||||
|  |         expect(student).toBeTruthy(); | ||||||
|  |         expect(student?.firstName).toBe('Maynard'); | ||||||
|  |         expect(student?.lastName).toBe('Keenan'); | ||||||
|  |     }) | ||||||
|  | 
 | ||||||
|  |     it('should return the queried teacher after he was added', async () => { | ||||||
|  |         await TeacherRepository.insert( | ||||||
|  |             new Teacher(username, firstName, lastName) | ||||||
|  |         ); | ||||||
|  | 
 | ||||||
|  |         const retrievedStudent = | ||||||
|  |             await TeacherRepository.findByUsername(username); | ||||||
|  |         expect(retrievedStudent).toBeTruthy(); | ||||||
|  |         expect(retrievedStudent?.firstName).toBe(firstName); | ||||||
|  |         expect(retrievedStudent?.lastName).toBe(lastName); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     it('should no longer return the queried student after he was removed again', async () => { | ||||||
|  |         await TeacherRepository.deleteByUsername(username); | ||||||
|  | 
 | ||||||
|  |         const retrievedStudent = | ||||||
|  |             await TeacherRepository.findByUsername(username); | ||||||
|  |         expect(retrievedStudent).toBeNull(); | ||||||
|  |     }); | ||||||
|  | }); | ||||||
		Reference in a new issue
	
	 Laure Jablonski
						Laure Jablonski