feat: (frontend) queries teacher + test controller teacher
This commit is contained in:
parent
5e0f284131
commit
44c242fc57
11 changed files with 184 additions and 59 deletions
|
@ -1,26 +1,22 @@
|
|||
import { describe, it, expect, beforeAll } from 'vitest';
|
||||
import {getStudentController} from "../../src/controllers/controllers";
|
||||
import {StudentController} from "../../src/controllers/students";
|
||||
|
||||
const controller = getStudentController();
|
||||
const controller = new StudentController();
|
||||
|
||||
describe('StudentController', () => {
|
||||
const newStudent = {
|
||||
username: 'TestStudent',
|
||||
username: 'teststudent1',
|
||||
firstName: 'Testy',
|
||||
lastName: 'McTestface',
|
||||
};
|
||||
|
||||
beforeAll(() => {
|
||||
// Zet eventueel mock server op hier als je dat gebruikt
|
||||
// Start backend
|
||||
});
|
||||
|
||||
it('creates a student and fetches it by username', async () => {
|
||||
// Create student
|
||||
const created = await controller.createStudent(newStudent);
|
||||
|
||||
expect(created).toBeDefined();
|
||||
expect(created.username).toBe(newStudent.username);
|
||||
|
||||
await controller.createStudent(newStudent);
|
||||
|
||||
// Fetch same student
|
||||
const fetched = await controller.getByUsername(newStudent.username);
|
||||
|
@ -33,9 +29,7 @@ describe('StudentController', () => {
|
|||
expect(student.firstName).toBe(newStudent.firstName);
|
||||
expect(student.lastName).toBe(newStudent.lastName);
|
||||
|
||||
|
||||
await controller.deleteStudent(newStudent.username);
|
||||
|
||||
await expect(controller.getByUsername(newStudent.username)).rejects.toThrow();
|
||||
|
||||
});
|
||||
});
|
||||
|
|
35
frontend/tests/controllers/teacher.test.ts
Normal file
35
frontend/tests/controllers/teacher.test.ts
Normal file
|
@ -0,0 +1,35 @@
|
|||
import { describe, it, expect, beforeAll } from 'vitest';
|
||||
import {TeacherController} from "../../src/controllers/teachers";
|
||||
|
||||
const controller = new TeacherController();
|
||||
|
||||
describe('TeacherController', () => {
|
||||
const newTeacher = {
|
||||
username: 'testteacher',
|
||||
firstName: 'Testy',
|
||||
lastName: 'McTestface',
|
||||
};
|
||||
|
||||
beforeAll(() => {
|
||||
// Start backend
|
||||
});
|
||||
|
||||
it('creates a student and fetches it by username', async () => {
|
||||
// Create student
|
||||
await controller.createTeacher(newTeacher);
|
||||
|
||||
// Fetch same student
|
||||
const fetched = await controller.getByUsername(newTeacher.username);
|
||||
|
||||
expect(fetched).toBeDefined();
|
||||
expect(fetched.teacher).toBeDefined();
|
||||
|
||||
const teacher = fetched.teacher;
|
||||
expect(teacher.username).toBe(newTeacher.username);
|
||||
expect(teacher.firstName).toBe(newTeacher.firstName);
|
||||
expect(teacher.lastName).toBe(newTeacher.lastName);
|
||||
|
||||
|
||||
await controller.deleteTeacher(newTeacher.username);
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue