tets: de teacher repository is volledig getest

This commit is contained in:
Laure Jablonski 2025-03-07 12:05:39 +01:00
parent 41cea9bbf0
commit 296b18e642
2 changed files with 24 additions and 17 deletions

View file

@ -16,17 +16,17 @@ describe('TeacherRepository', () => {
});
it('should not return a teacher because username does not exist', async() => {
const student = await TeacherRepository.findByUsername('test');
const teacher = await TeacherRepository.findByUsername('test');
expect(student).toBeNull();
expect(teacher).toBeNull();
});
it('should return teacher from the datbase', async() => {
const student = await TeacherRepository.findByUsername('Tool');
const teacher = await TeacherRepository.findByUsername('Tool');
expect(student).toBeTruthy();
expect(student?.firstName).toBe('Maynard');
expect(student?.lastName).toBe('Keenan');
expect(teacher).toBeTruthy();
expect(teacher?.firstName).toBe('Maynard');
expect(teacher?.lastName).toBe('Keenan');
})
it('should return the queried teacher after he was added', async () => {
@ -34,18 +34,18 @@ describe('TeacherRepository', () => {
new Teacher(username, firstName, lastName)
);
const retrievedStudent =
const retrievedTeacher =
await TeacherRepository.findByUsername(username);
expect(retrievedStudent).toBeTruthy();
expect(retrievedStudent?.firstName).toBe(firstName);
expect(retrievedStudent?.lastName).toBe(lastName);
expect(retrievedTeacher).toBeTruthy();
expect(retrievedTeacher?.firstName).toBe(firstName);
expect(retrievedTeacher?.lastName).toBe(lastName);
});
it('should no longer return the queried student after he was removed again', async () => {
it('should no longer return the queried teacher after he was removed again', async () => {
await TeacherRepository.deleteByUsername(username);
const retrievedStudent =
const retrievedTeacher =
await TeacherRepository.findByUsername(username);
expect(retrievedStudent).toBeNull();
expect(retrievedTeacher).toBeNull();
});
});

View file

@ -1,4 +1,5 @@
import { Student } from '../src/entities/users/student.entity.js';
import { Teacher } from '../src/entities/users/teacher.entity.js';
import { forkEntityManager, initORM } from '../src/orm.js';
import dotenv from 'dotenv';
@ -8,9 +9,15 @@ export async function setupTestApp() {
const em = forkEntityManager();
const user01 = em.create(Student, {username: 'Noordkaap', firstName: 'Stijn', lastName: 'Meuris'})
const user02 = em.create(Student, {username: 'DireStraits', firstName: 'Mark', lastName: 'Knopfler'})
const user03 = em.create(Student, {username: 'SmashingPumpkins', firstName: 'Billy', lastName: 'Corgan'})
const student01 = em.create(Student, {username: 'Noordkaap', firstName: 'Stijn', lastName: 'Meuris'});
const student02 = em.create(Student, {username: 'DireStraits', firstName: 'Mark', lastName: 'Knopfler'});
const student03 = em.create(Student, {username: 'SmashingPumpkins', firstName: 'Billy', lastName: 'Corgan'});
await em.persistAndFlush([user01, user02, user03]);
await em.persistAndFlush([student01, student02, student03]);
const teacher01 = em.create(Teacher, {username: 'Tool', firstName: 'Maynard', lastName: 'Keenan'});
const teacher02 = em.create(Teacher, { username: 'Staind', firstName: 'Aaron', lastName: 'Lewis'});
const teacher03 = em.create(Teacher, { username: 'TheDoors', firstName: 'Jim', lastName: 'Morrison'});
await em.persistAndFlush([teacher01, teacher02, teacher03]);
}