From cc1a281d52c8510c9de1517fbbe625e2d454e16a Mon Sep 17 00:00:00 2001 From: laurejablonski Date: Sun, 27 Apr 2025 11:26:15 +0200 Subject: [PATCH] test; classjoinrequests --- .../data/classes/class-join-request.test.ts | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/backend/tests/data/classes/class-join-request.test.ts b/backend/tests/data/classes/class-join-request.test.ts index afb83766..7e3aa8e5 100644 --- a/backend/tests/data/classes/class-join-request.test.ts +++ b/backend/tests/data/classes/class-join-request.test.ts @@ -2,43 +2,48 @@ import { beforeAll, describe, expect, it } from 'vitest'; import { setupTestApp } from '../../setup-tests'; import { ClassJoinRequestRepository } from '../../../src/data/classes/class-join-request-repository'; import { getClassJoinRequestRepository, getClassRepository, getStudentRepository } from '../../../src/data/repositories'; -import { StudentRepository } from '../../../src/data/users/student-repository'; -import { ClassRepository } from '../../../src/data/classes/class-repository'; +import { getPinkFloyd, getSmashingPumpkins } from '../../test_assets/users/students.testdata'; +import { getClass02, getClass03 } from '../../test_assets/classes/classes.testdata'; +import { getClassJoinRequest01, getClassJoinRequest02, getClassJoinRequest03 } from '../../test_assets/classes/class-join-requests.testdata'; describe('ClassJoinRequestRepository', () => { let classJoinRequestRepository: ClassJoinRequestRepository; - let studentRepository: StudentRepository; - let cassRepository: ClassRepository; beforeAll(async () => { await setupTestApp(); classJoinRequestRepository = getClassJoinRequestRepository(); - studentRepository = getStudentRepository(); - cassRepository = getClassRepository(); }); it('should list all requests from student to join classes', async () => { - const student = await studentRepository.findByUsername('PinkFloyd'); - const requests = await classJoinRequestRepository.findAllRequestsBy(student!); + const studentUsed = getPinkFloyd(); + const jr1 = getClassJoinRequest01(); + const jr2 = getClassJoinRequest03(); + const requests = await classJoinRequestRepository.findAllRequestsBy(studentUsed); expect(requests).toBeTruthy(); expect(requests).toHaveLength(2); + expect(requests[0].class.classId!).toBeOneOf([jr1.class.classId!, jr2.class.classId!]); + expect(requests[1].class.classId!).toBeOneOf([jr1.class.classId!, jr2.class.classId!]); }); it('should list all requests to a single class', async () => { - const class_ = await cassRepository.findById('34d484a1-295f-4e9f-bfdc-3e7a23d86a89'); + const class_ = getClass02(); + const jr1 = getClassJoinRequest01(); + const jr2 = getClassJoinRequest02(); const requests = await classJoinRequestRepository.findAllOpenRequestsTo(class_!); expect(requests).toBeTruthy(); expect(requests).toHaveLength(2); + expect(requests[0].class.classId).toBeOneOf([jr1.class.classId, jr2.class.classId]); + expect(requests[1].class.classId).toBeOneOf([jr1.class.classId, jr2.class.classId]); }); it('should not find a removed request', async () => { - const student = await studentRepository.findByUsername('SmashingPumpkins'); - const class_ = await cassRepository.findById('80dcc3e0-1811-4091-9361-42c0eee91cfa'); - await classJoinRequestRepository.deleteBy(student!, class_!); + const studentUsed = getSmashingPumpkins(); + const class_ = getClass03(); + await classJoinRequestRepository.deleteBy(studentUsed!, class_!); - const request = await classJoinRequestRepository.findAllRequestsBy(student!); + const request = await classJoinRequestRepository.findAllRequestsBy(studentUsed!); expect(request).toHaveLength(0); });