Files
calendar/packages/prisma/extensions/disallow-undefined-delete-update-many.test.ts
T

62 lines
1.7 KiB
TypeScript

import { describe, it, expect } from "vitest";
import { checkUndefinedInValue } from "./disallow-undefined-delete-update-many";
describe("Disallow undefined delete/update many", () => {
it("checkUndefinedInValue should throw exception when the 'in' field of where object is undefined", async () => {
const where = {
id: {
in: undefined,
},
};
expect(() => checkUndefinedInValue(where)).toThrowError(
'The "in" value for the field "id" cannot be undefined.'
);
});
it("checkUndefinedInValue should throw exception when a field of where object is undefined", async () => {
const where = {
from: undefined,
};
expect(() => checkUndefinedInValue(where)).toThrowError(
'The value for the field "from" cannot be undefined.'
);
});
it("checkUndefinedInValue should not throw exception when the where object does not contain undefined values", async () => {
const where = {
id: {
in: [1, 2, 3],
},
name: "test name",
};
checkUndefinedInValue(where);
});
it("checkUndefinedInValue should not throw exception when the where object contain null values", async () => {
const where = {
teamId: null,
parentId: null,
};
checkUndefinedInValue(where);
});
it("checkUndefinedInValue should throw exception when the where object contain null values and 'in' field is undefined", async () => {
const where = {
teamId: null,
parentId: null,
id: {
in: undefined,
},
};
expect(() => checkUndefinedInValue(where)).toThrowError(
'The "in" value for the field "id" cannot be undefined.'
);
});
});