import { vi } from "vitest"; export function createResourceRankingTestDb() { const assignmentFindMany = vi .fn() .mockResolvedValueOnce([ { resourceId: "res_carol", hoursPerDay: 2, startDate: new Date("2026-01-05T00:00:00.000Z"), endDate: new Date("2026-01-16T00:00:00.000Z"), status: "PROPOSED", resource: { id: "res_carol", eid: "carol.danvers", displayName: "Carol Danvers", chapter: "Delivery", lcrCents: 7664, availability: { monday: 8, tuesday: 8, wednesday: 8, thursday: 8, friday: 8 }, countryId: "country_de", federalState: "HH", metroCityId: "city_hamburg", country: { code: "DE", name: "Deutschland" }, metroCity: { name: "Hamburg" }, areaRole: { name: "Artist" }, }, }, { resourceId: "res_steve", hoursPerDay: 4, startDate: new Date("2026-01-05T00:00:00.000Z"), endDate: new Date("2026-01-16T00:00:00.000Z"), status: "CONFIRMED", resource: { id: "res_steve", eid: "steve.rogers", displayName: "Steve Rogers", chapter: "Delivery", lcrCents: 13377, availability: { monday: 8, tuesday: 8, wednesday: 8, thursday: 8, friday: 8 }, countryId: "country_de", federalState: "BY", metroCityId: "city_augsburg", country: { code: "DE", name: "Deutschland" }, metroCity: { name: "Augsburg" }, areaRole: { name: "Artist" }, }, }, ]) .mockResolvedValueOnce([ { resourceId: "res_carol", projectId: "project_lari", hoursPerDay: 2, startDate: new Date("2026-01-05T00:00:00.000Z"), endDate: new Date("2026-01-16T00:00:00.000Z"), status: "PROPOSED", project: { name: "Gelddruckmaschine", shortCode: "LARI" }, }, { resourceId: "res_steve", projectId: "project_lari", hoursPerDay: 4, startDate: new Date("2026-01-05T00:00:00.000Z"), endDate: new Date("2026-01-16T00:00:00.000Z"), status: "CONFIRMED", project: { name: "Gelddruckmaschine", shortCode: "LARI" }, }, ]); return { assignmentFindMany, db: { project: { findUnique: vi .fn() .mockResolvedValueOnce(null) .mockResolvedValueOnce({ id: "project_lari", name: "Gelddruckmaschine", shortCode: "LARI", status: "ACTIVE", responsiblePerson: "Larissa Joos", startDate: new Date("2026-01-05T00:00:00.000Z"), endDate: new Date("2026-01-16T00:00:00.000Z"), }) .mockResolvedValueOnce({ id: "project_lari", name: "Gelddruckmaschine", shortCode: "LARI", status: "ACTIVE", responsiblePerson: "Larissa Joos", }), findFirst: vi.fn(), }, assignment: { findMany: assignmentFindMany, }, vacation: { findMany: vi.fn().mockResolvedValue([]), }, }, }; }