* add Add Group button * add host groups to schema * UI for host groups * raname groups to hostGroups * schema update * show groups in assignment tab * add no group hosts to Group 1 * add dummy group for non group hosts * fix type errors * use two dimensional array for luckyUserPools * fix empty array * group RR hosts in handleNewBooking * improve logic for grouping lucky users * find all lucky users of all groups * allow several RR hosts on booking * clean up migrations * create helper function * group hosts for slots logic * add group logic to loading available slots * adding hosts to groups * add groupId to hostSchema * disable hosts from other groups * handle groups in checkedTeamSelect * fix adding hosts to groups * remove and add groups * show hosts if there are no groups * fixing adding first group with existing hosts * show groups empty groups correctly * UI upddate fixes * fix adding hosts to existing first host group * small fixes + code clean up * add availability fix with test * create new round-robin test file * disable reassignment * fix losing fixed hosts * fix updating weights and priorities * disable load balancing with Round Robin Groups * automatically disable load balancing in update handler * allRRHosts should only include hosts from same group * fix type errors * fix type error * fix tests * fix type error * remove undefined from groupId type * type changes * add tests for hostGroups * add tests for host groups * fixes * fix type errors with undefined groupId * remove seperate host groups prop * fix editing weights * remove console.log * code clean up * improve getAggregatedAvailability tests * throw error when no available hosts in a group * add fixme comment * create constant for DEFAULT_GROUP_ID * clean up code * mock default_group_id for unit tests * don't show fixed hosts in edit weights side bar * add DEFAULT_GROUP_ID to mock test-setup * remove unused index variable * code clean up * fix updating host groups * fix imports * add default_group_id to mocks * add uuid() to zod schema * remove unused code * fix singular translation key * remove unnessary !! * Revert formatting changes * add additional tests for bookingActions * use createMany * import DEFAULT_GROUP_ID for mocks * fix mocks * clean up EventTeamAssignmentTab * fix type errors in tests * fix mocks * remove constants.example.test.ts * fix type error * add missing groupId * fix margin * clean up empty host groups * fix constants mock * useCalback * use reduce * extract handlers into seperate functions * fix handler functions * fix border radius * fix type error in CheckForEmptyAssignment * fix type error --------- Co-authored-by: CarinaWolli <wollencarina@gmail.com>
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
import { vi, beforeEach } from "vitest";
|
|
|
|
import type * as constants from "@calcom/lib/constants";
|
|
|
|
const initialConstants = {
|
|
IS_PRODUCTION: false,
|
|
IS_TEAM_BILLING_ENABLED: false,
|
|
WEBSITE_URL: "",
|
|
PUBLIC_INVALIDATE_AVAILABLE_SLOTS_ON_BOOKING_FORM: true,
|
|
CLOUDFLARE_SITE_ID: "test-site-id",
|
|
CLOUDFLARE_USE_TURNSTILE_IN_BOOKER: "1",
|
|
DEFAULT_LIGHT_BRAND_COLOR: "#292929",
|
|
DEFAULT_DARK_BRAND_COLOR: "#fafafa",
|
|
CALCOM_VERSION: "0.0.0",
|
|
IS_SELF_HOSTED: false,
|
|
SEO_IMG_DEFAULT: "https://cal.com/og-image.png",
|
|
SEO_IMG_OGIMG: "https://cal.com/og-image-wide.png",
|
|
CURRENT_TIMEZONE: "Europe/London",
|
|
APP_NAME: "Cal.com",
|
|
BOOKER_NUMBER_OF_DAYS_TO_LOAD: 14,
|
|
PUBLIC_QUICK_AVAILABILITY_ROLLOUT: 100,
|
|
SINGLE_ORG_SLUG: "",
|
|
DEFAULT_GROUP_ID: "default_group_id",
|
|
} as Partial<typeof constants>;
|
|
|
|
export const mockedConstants = { ...initialConstants };
|
|
|
|
vi.mock("@calcom/lib/constants", () => mockedConstants);
|
|
|
|
beforeEach(() => {
|
|
Object.assign(mockedConstants, initialConstants);
|
|
});
|
|
|
|
export const constantsScenarios = {
|
|
enableTeamBilling: () => {
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
mockedConstants.IS_TEAM_BILLING_ENABLED = true;
|
|
},
|
|
setWebsiteUrl: (url: string) => {
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
mockedConstants.WEBSITE_URL = url;
|
|
},
|
|
set: (envVariables: Record<string, string>) => {
|
|
Object.entries(envVariables).forEach(([key, value]) => {
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
mockedConstants[key] = value;
|
|
});
|
|
},
|
|
};
|