Files
Nexus/packages/application/src/__tests__/delete-demand-requirement.test.ts
T

34 lines
989 B
TypeScript

import { describe, expect, it, vi } from "vitest";
import { deleteDemandRequirement } from "../index.js";
describe("deleteDemandRequirement", () => {
it("deletes an explicit demand and unlinks assignments", async () => {
const db = {
demandRequirement: {
findUnique: vi.fn().mockResolvedValue({
id: "demand_1",
projectId: "project_1",
}),
delete: vi.fn().mockResolvedValue({}),
},
assignment: {
updateMany: vi.fn().mockResolvedValue({ count: 2 }),
},
};
const result = await deleteDemandRequirement(db as never, "demand_1");
expect(result).toEqual({
deletedId: "demand_1",
projectId: "project_1",
});
expect(db.assignment.updateMany).toHaveBeenCalledWith({
where: { demandRequirementId: "demand_1" },
data: { demandRequirementId: null },
});
expect(db.demandRequirement.delete).toHaveBeenCalledWith({
where: { id: "demand_1" },
});
});
});