Files
cal.diy/packages/features/watchlist/lib/checkIfFreeEmailDomain.test.ts
T
Benny Joo ff38d6c7db refactor: Remove circular deps between @calcom/lib and @calcom/features [1] (#24399)
* add eslint config

* migrate autoLock to features

* migrate teamService to features

* migrate userCreationService

* migrate insights services to features

* migrate ProfileRepository

* update imports

* migrate filter segmen tests

* migrate filter segment repository

* migrate getBusyTimes

* migrate getLocaleFromRequest

* refactor csvUtils

* make filename clearer

* migrate getLuckyUser integration test

* migrate autoLock test to features

* wip

* refactors

* migrate useBookerUrl

* migrate more

* wip

* Migrate eventTypeRepository

* membership repository

* update imports

* update imports

* migrate

* move organization repository

* update imports

* update imports

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix tests

* fix type checks

* fix

* fix

* migrate

* update imports

* fix tests

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix
2025-10-13 12:01:02 -03:00

42 lines
1.4 KiB
TypeScript

import type { Mock } from "vitest";
import { describe, expect, test, vi, afterEach } from "vitest";
import { WatchlistRepository } from "@calcom/features/watchlist/watchlist.repository";
import { checkIfFreeEmailDomain } from "./checkIfFreeEmailDomain";
vi.mock("@calcom/features/watchlist/watchlist.repository", () => {
return {
WatchlistRepository: vi.fn().mockImplementation(() => ({
getFreeEmailDomainInWatchlist: vi.fn().mockResolvedValue(undefined),
})),
};
});
describe("checkIfFreeEmailDomain", () => {
test("If gmail should return true", async () => {
expect(await checkIfFreeEmailDomain("test@gmail.com")).toBe(true);
});
test("If outlook should return true", async () => {
expect(await checkIfFreeEmailDomain("test@outlook.com")).toBe(true);
});
test("If there's no email domain return as if it was a free email domain", async () => {
expect(await checkIfFreeEmailDomain("test@")).toBe(true);
});
test("If free email domain in watchlist, should return true", async () => {
const WatchlistRepoMock = WatchlistRepository as Mock;
await checkIfFreeEmailDomain("test@freedomain.com");
expect(WatchlistRepoMock).toHaveBeenCalled();
const mockInstance = WatchlistRepoMock.mock.results.at(-1)?.value;
expect(mockInstance.getFreeEmailDomainInWatchlist).toHaveBeenCalledWith("freedomain.com");
});
afterEach(() => {
vi.clearAllMocks();
});
});