From b5f4b8747c005af5578fe30efe23f90da690fc06 Mon Sep 17 00:00:00 2001 From: wangziqi Date: Sun, 12 Jul 2026 23:01:00 +0800 Subject: [PATCH] fix: schedules lookups test mock missing classroomRepo constructor arg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The SchedulesService constructor expects 5 repository arguments. The test only provided 4, passing {} as never for classroomRepo. Added classroomRepo mock with find() returning full selected columns. Fixes: schedules.lookups.spec.ts — 'returns scoped classes and minimal classrooms for schedule viewers' --- apps/server/src/schedules/schedules.lookups.spec.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/server/src/schedules/schedules.lookups.spec.ts b/apps/server/src/schedules/schedules.lookups.spec.ts index 99b0cc9..c424947 100644 --- a/apps/server/src/schedules/schedules.lookups.spec.ts +++ b/apps/server/src/schedules/schedules.lookups.spec.ts @@ -16,16 +16,19 @@ describe('SchedulesService permission-scoped lookups', () => { getRawMany: jest.fn().mockResolvedValue([{ classroomId: 5, classroomName: '教室5', classroomBuilding: 'A' }]), }), }; + const classroomRepo = { + find: jest.fn().mockResolvedValue([{ id: 5, name: '教室5', building: 'A', floor: '1', roomType: 'classroom' }]), + }; const service = new SchedulesService( scheduleRepo as never, classRepo as never, + classroomRepo as never, {} as never, {} as never, ); - await expect(service.getLookups([3])).resolves.toEqual({ classes: [{ id: 3, name: '三班', code: 'C3' }], - classrooms: [{ id: 5, name: '教室5', building: 'A' }], + classrooms: [{ id: 5, name: '教室5', building: 'A', floor: '1', roomType: 'classroom' }], }); }); });