chore: Flaky test: frontend.service.test.ts (3 master or merge-queue commits in 72 h) (#41279)

Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
This commit is contained in:
n8n-cat-bot[bot] 2026-10-16 14:44:01 +00:00 committed by GitHub
parent 7f16040253
commit 8ee5cf1845
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -220,31 +220,40 @@ describe('FrontendService', () => {
// constructor-injected mock above must also be registered here.
Container.set(License, license);
return {
service: new FrontendService(
globalConfig,
logger,
loadNodesAndCredentials,
credentialTypes,
credentialsOverwrites,
// Suppress the constructor's background write so it cannot outlive the test.
// Restore the method so tests and reload handlers can call it explicitly.
const generateTypes = vi
.spyOn(FrontendService.prototype, 'generateTypes')
.mockResolvedValueOnce();
try {
return {
service: new FrontendService(
globalConfig,
logger,
loadNodesAndCredentials,
credentialTypes,
credentialsOverwrites,
license,
mailer,
instanceSettings,
urlService,
securityConfig,
pushConfig,
binaryDataConfig,
licenseState,
moduleRegistry,
mfaService,
ownershipService,
aiUsageService,
workflowRepository,
workflowReviewPolicyService,
inboxService,
),
license,
mailer,
instanceSettings,
urlService,
securityConfig,
pushConfig,
binaryDataConfig,
licenseState,
moduleRegistry,
mfaService,
ownershipService,
aiUsageService,
workflowRepository,
workflowReviewPolicyService,
inboxService,
),
license,
};
};
} finally {
generateTypes.mockRestore();
}
};
beforeEach(() => {
@ -1368,9 +1377,9 @@ describe('FrontendService', () => {
const largeNodes = createNodes(5000);
const smallNodes = createNodes(1);
const collectTypes = loadNodesAndCredentials.collectTypes as Mock;
collectTypes.mockReturnValueOnce(new Promise(() => {}));
const { service } = createMockService();
expect(collectTypes).not.toHaveBeenCalled();
for (let attempt = 0; attempt < 10; attempt++) {
collectTypes
@ -1383,6 +1392,8 @@ describe('FrontendService', () => {
expect(readTypesFile('credentials')).toEqual([]);
expect(readTypesFile('node-versions')).toEqual(expect.any(Array));
}
expect(collectTypes).toHaveBeenCalledTimes(20);
});
});
});