diff --git a/packages/cli/src/modules/insights/__tests__/insights.module.test.ts b/packages/cli/src/modules/insights/__tests__/insights.module.test.ts index 865473eda26..10d1246d5ba 100644 --- a/packages/cli/src/modules/insights/__tests__/insights.module.test.ts +++ b/packages/cli/src/modules/insights/__tests__/insights.module.test.ts @@ -7,6 +7,7 @@ import { mock } from 'jest-mock-extended'; import { InstanceSettings } from 'n8n-core'; import { InsightsModule } from '../insights.module'; +import { InsightsService } from '../insights.service'; describe('InsightsModule', () => { let insightsModule: InsightsModule; @@ -23,11 +24,23 @@ describe('InsightsModule', () => { beforeEach(async () => { jest.clearAllMocks(); await testDb.truncate(['Project']); - insightsModule = Container.get(InsightsModule); + mockInstanceSettings = mock(); Container.set(InstanceSettings, mockInstanceSettings); Container.set(Logger, mockLogger()); Container.set(LicenseState, mock()); + Container.set( + InsightsService, + new InsightsService( + mock(), + mock(), + mock(), + Container.get(LicenseState), + mockInstanceSettings, + Container.get(Logger), + ), + ); + insightsModule = Container.get(InsightsModule); await createTeamProject(); }); diff --git a/packages/cli/src/modules/insights/insights.module.ts b/packages/cli/src/modules/insights/insights.module.ts index af495da88d4..3ba880b2b19 100644 --- a/packages/cli/src/modules/insights/insights.module.ts +++ b/packages/cli/src/modules/insights/insights.module.ts @@ -1,17 +1,14 @@ import type { ModuleInterface } from '@n8n/decorators'; import { BackendModule, OnShutdown } from '@n8n/decorators'; import { Container } from '@n8n/di'; -import { InstanceSettings } from 'n8n-core'; -@BackendModule({ name: 'insights' }) +/** + * Only main- and webhook-type instances collect insights because + * only they are informed of finished workflow executions. + */ +@BackendModule({ name: 'insights', instanceTypes: ['main', 'webhook'] }) export class InsightsModule implements ModuleInterface { async init() { - /** - * Only main- and webhook-type instances collect insights because - * only they are informed of finished workflow executions. - */ - if (Container.get(InstanceSettings).instanceType === 'worker') return; - await import('./insights.controller'); const { InsightsService } = await import('./insights.service');