fix: add global CRM services mock to prevent test flakes (#26716)

* fix: mock CRM services to prevent test flakes in handlePaymentSuccess.test.ts

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix: add global CRM services mock to prevent test flakes

The test flakes were caused by the Salesforce CRM service importing @urql/core,
which triggers fetch calls during module loading. These fetch calls remain
pending when the Vitest worker shuts down, causing the error:
'[vitest-worker]: Closing rpc while fetch was pending'

This fix adds a global mock for CrmServiceMap in setupVitest.ts, similar to
how payment services are already mocked. This prevents the Salesforce module
from being loaded during test execution.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Keith Williams
2026-01-11 18:18:05 +05:30
committed by GitHub
co-authored by Devin AI
parent c826e9cea8
commit 7a6f4b2594
2 changed files with 28 additions and 1 deletions
@@ -74,7 +74,6 @@ vi.mock("@calcom/lib/logger", () => ({
})),
},
}));
// Mock routing-forms modules to prevent async import issues during test teardown
vi.mock("@calcom/features/routing-forms/lib/findFieldValueByIdentifier", () => ({
findFieldValueByIdentifier: vi.fn(),
}));
+28
View File
@@ -162,6 +162,34 @@ vi.mock("@calcom/app-store/payment.services.generated", () => ({
},
}));
class MockCrmService {
constructor() {}
async createEvent() {
return [];
}
async updateEvent() {
return [];
}
async deleteEvent() {}
async getContacts() {
return [];
}
async createContacts() {
return [];
}
}
vi.mock("@calcom/app-store/crm.apps.generated", () => ({
CrmServiceMap: {
closecom: Promise.resolve({ default: MockCrmService }),
hubspot: Promise.resolve({ default: MockCrmService }),
"pipedrive-crm": Promise.resolve({ default: MockCrmService }),
salesforce: Promise.resolve({ default: MockCrmService }),
"zoho-bigin": Promise.resolve({ default: MockCrmService }),
zohocrm: Promise.resolve({ default: MockCrmService }),
},
}));
if (!process.env.INTEGRATION_TESTS) {
vi.mock("@calcom/app-store/salesforce/lib/graphql/documents/queries", () => ({
GetAccountRecordsForRRSkip: {},