39 lines
1.6 KiB
TypeScript
39 lines
1.6 KiB
TypeScript
import { StudentController } from "../../src/controllers/students";
|
|
import { beforeEach, describe, expect, it, test } from "vitest";
|
|
|
|
describe("Test controller students", () => {
|
|
let controller: StudentController;
|
|
|
|
beforeEach(async () => {
|
|
controller = new StudentController();
|
|
});
|
|
|
|
it("Get students", async () => {
|
|
const data = await controller.getAll(true);
|
|
expect(data.students).to.have.length.greaterThan(0);
|
|
});
|
|
|
|
it("Get student by username", async () => {
|
|
const username = "testleerling1";
|
|
const data = await controller.getByUsername(username);
|
|
expect(data.student.username).to.equal(username);
|
|
});
|
|
});
|
|
|
|
const controller = new StudentController();
|
|
|
|
test.each([
|
|
{ username: 'Noordkaap', firstName: 'Stijn', lastName: 'Meuris' },
|
|
{ username: 'DireStraits', firstName: 'Mark', lastName: 'Knopfler' },
|
|
{ username: 'Tool', firstName: 'Maynard', lastName: 'Keenan' },
|
|
{ username: 'SmashingPumpkins', firstName: 'Billy', lastName: 'Corgan' },
|
|
{ username: 'PinkFloyd', firstName: 'David', lastName: 'Gilmoure' },
|
|
{ username: 'TheDoors', firstName: 'Jim', lastName: 'Morisson' },
|
|
// ⚠️ Deze mag niet gebruikt worden in elke test!
|
|
{ username: 'Nirvana', firstName: 'Kurt', lastName: 'Cobain' },
|
|
// Makes sure when logged in as leerling1, there exists a corresponding user
|
|
{ username: 'testleerling1', firstName: 'Gerald', lastName: 'Schmittinger' },
|
|
])('Get classes of student', async (student) => {
|
|
const data = await controller.getClasses(student.username, true);
|
|
expect(data.classes).to.have.length.greaterThan(0);
|
|
})
|