diff --git a/server/src/module/ats/__tests__/ats.service.test.ts b/server/src/module/ats/__tests__/ats.service.test.ts index 5e9148aee..1dc24c963 100644 --- a/server/src/module/ats/__tests__/ats.service.test.ts +++ b/server/src/module/ats/__tests__/ats.service.test.ts @@ -106,11 +106,12 @@ function mockCacheMiss() { function mockValidPdf(text = VALID_RESUME_TEXT) { vi.mocked(PDFParse).mockImplementation( - () => - ({ + function () { + return { getText: vi.fn().mockResolvedValue({ text }), destroy: vi.fn().mockResolvedValue(undefined), - }) as any, + } as any; + } ); } @@ -183,11 +184,12 @@ describe("AtsService", () => { mockUserOwnsResume(); mockCacheMiss(); vi.mocked(PDFParse).mockImplementation( - () => - ({ + function () { + return { getText: vi.fn().mockResolvedValue({ text: "too short" }), destroy: vi.fn().mockResolvedValue(undefined), - }) as any, + } as any; + } ); await expect( @@ -466,11 +468,12 @@ describe("AtsService", () => { it("throws when PDF text extraction yields insufficient content", async () => { mockUserOwnsResume(); vi.mocked(PDFParse).mockImplementation( - () => - ({ + function () { + return { getText: vi.fn().mockResolvedValue({ text: "tiny" }), destroy: vi.fn().mockResolvedValue(undefined), - }) as any, + } as any; + } ); await expect( diff --git a/server/src/module/professor/professor.service.ts b/server/src/module/professor/professor.service.ts index 992800af4..b014a0468 100644 --- a/server/src/module/professor/professor.service.ts +++ b/server/src/module/professor/professor.service.ts @@ -1,5 +1,5 @@ import { prisma } from "../../database/db.js"; -import { cacheGet, cacheSet } from "../../utils/cache.js"; +import { cacheGet, cacheSet, cacheDelPattern } from "../../utils/cache.js"; const PROF_TTL = 3600; @@ -106,5 +106,23 @@ export class ProfessorService { await cacheSet(cacheKey, result, PROF_TTL); return result; } + + async create(data: any) { + const record = await prisma.iitProfessor.create({ data }); + await cacheDelPattern("professors:"); + return record; + } + + async update(id: number, data: any) { + const record = await prisma.iitProfessor.update({ where: { id }, data }); + await cacheDelPattern("professors:"); + return record; + } + + async delete(id: number) { + const record = await prisma.iitProfessor.delete({ where: { id } }); + await cacheDelPattern("professors:"); + return record; + } }