Files
calendar/apps/web/test/lib/CheckForEmptyAssignment.test.ts
T
MorganandGitHub 40fee7af51 chore: reorganize event type files (#16393)
* chore: reorganize event type files

* fixup! chore: reorganize event type files

* fixup! Merge branch 'main' into refactor-event-types-components-folder
2024-08-30 10:41:37 +00:00

103 lines
3.0 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { checkForEmptyAssignment } from "@calcom/lib/event-types/utils/checkForEmptyAssignment";
describe("Tests to Check if Event Types have empty Assignment", () => {
it("should return true if managed event type has no assigned users", () => {
expect(
checkForEmptyAssignment({
assignedUsers: [],
assignAllTeamMembers: false,
hosts: [{ userId: 101, isFixed: false, priority: 2, weight: 100, weightAdjustment: 0 }],
isManagedEventType: true,
})
).toBe(true);
});
it("should return true if non-managed event type has no hosts assigned", () => {
expect(
checkForEmptyAssignment({
assignedUsers: [
{
created: true,
owner: {
id: 101,
avatar: "avatar.svg",
email: "firstuser@cal.com",
membership: "OWNER",
name: "First user",
username: "firstuser",
profile: {
username: "firstuser",
upId: "usr-101",
id: null,
organization: null,
organizationId: null,
},
avatarUrl: null,
nonProfileUsername: null,
},
slug: "managedevent",
hidden: false,
},
],
assignAllTeamMembers: false,
hosts: [],
isManagedEventType: false,
})
).toBe(true);
});
it("should return false if assignAllTeamMembers is selected", () => {
expect(
checkForEmptyAssignment({
assignedUsers: [],
assignAllTeamMembers: true,
hosts: [],
isManagedEventType: false,
})
).toBe(false);
});
it("should return false if non-managed event type has hosts assigned", () => {
expect(
checkForEmptyAssignment({
assignedUsers: [],
assignAllTeamMembers: false,
hosts: [{ userId: 101, isFixed: false, priority: 2, weight: 100, weightAdjustment: 0 }],
isManagedEventType: false,
})
).toBe(false);
});
it("should return false if managed event type has assigned users", () => {
expect(
checkForEmptyAssignment({
assignedUsers: [
{
created: true,
owner: {
id: 101,
avatar: "avatar.svg",
email: "firstuser@cal.com",
membership: "OWNER",
name: "First user",
username: "firstuser",
profile: {
username: "firstuser",
upId: "usr-101",
id: null,
organization: null,
organizationId: null,
},
avatarUrl: null,
nonProfileUsername: null,
},
slug: "managedevent",
hidden: false,
},
],
assignAllTeamMembers: false,
hosts: [],
isManagedEventType: true,
})
).toBe(false);
});
});