@ -1,17 +1,15 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
|
||||
import { AutomatedTriggerWorkspaceService } from 'src/modules/workflow/workflow-trigger/automated-trigger/automated-trigger.workspace-service';
|
||||
import { FeatureFlagModule } from 'src/engine/core-modules/feature-flag/feature-flag.module';
|
||||
import { DatabaseEventTriggerListener } from 'src/modules/workflow/workflow-trigger/automated-trigger/listeners/database-event-trigger.listener';
|
||||
import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
|
||||
import { WorkflowCommonModule } from 'src/modules/workflow/common/workflow-common.module';
|
||||
import { AutomatedTriggerWorkspaceService } from 'src/modules/workflow/workflow-trigger/automated-trigger/automated-trigger.workspace-service';
|
||||
import { CronTriggerCronCommand } from 'src/modules/workflow/workflow-trigger/automated-trigger/crons/commands/cron-trigger.cron.command';
|
||||
import { CronTriggerCronJob } from 'src/modules/workflow/workflow-trigger/automated-trigger/crons/jobs/cron-trigger.cron.job';
|
||||
import { WorkflowCommonModule } from 'src/modules/workflow/common/workflow-common.module';
|
||||
import { DatabaseEventTriggerListener } from 'src/modules/workflow/workflow-trigger/automated-trigger/listeners/database-event-trigger.listener';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
FeatureFlagModule,
|
||||
TypeOrmModule.forFeature([Workspace], 'core'),
|
||||
WorkflowCommonModule,
|
||||
],
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
|
||||
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
|
||||
import { MessageQueueService } from 'src/engine/core-modules/message-queue/services/message-queue.service';
|
||||
import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.manager';
|
||||
import { AutomatedTriggerType } from 'src/modules/workflow/common/standard-objects/workflow-automated-trigger.workspace-entity';
|
||||
@ -12,7 +11,6 @@ describe('DatabaseEventTriggerListener', () => {
|
||||
let listener: DatabaseEventTriggerListener;
|
||||
let twentyORMGlobalManager: jest.Mocked<TwentyORMGlobalManager>;
|
||||
let messageQueueService: jest.Mocked<MessageQueueService>;
|
||||
let featureFlagService: jest.Mocked<FeatureFlagService>;
|
||||
|
||||
const mockRepository = {
|
||||
find: jest.fn(),
|
||||
@ -27,10 +25,6 @@ describe('DatabaseEventTriggerListener', () => {
|
||||
add: jest.fn(),
|
||||
} as any;
|
||||
|
||||
featureFlagService = {
|
||||
isFeatureEnabled: jest.fn().mockResolvedValue(true),
|
||||
} as any;
|
||||
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [
|
||||
DatabaseEventTriggerListener,
|
||||
@ -42,10 +36,6 @@ describe('DatabaseEventTriggerListener', () => {
|
||||
provide: MessageQueueService,
|
||||
useValue: messageQueueService,
|
||||
},
|
||||
{
|
||||
provide: FeatureFlagService,
|
||||
useValue: featureFlagService,
|
||||
},
|
||||
{
|
||||
provide: 'MESSAGE_QUEUE_workflow-queue',
|
||||
useValue: messageQueueService,
|
||||
@ -303,14 +293,6 @@ describe('DatabaseEventTriggerListener', () => {
|
||||
);
|
||||
});
|
||||
|
||||
it('should ignore events when feature flag is disabled', async () => {
|
||||
featureFlagService.isFeatureEnabled.mockResolvedValueOnce(false);
|
||||
|
||||
await listener.handleObjectRecordUpdateEvent(mockPayload);
|
||||
|
||||
expect(messageQueueService.add).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should handle multiple events in a batch', async () => {
|
||||
const batchPayload = {
|
||||
...mockPayload,
|
||||
|
||||
@ -10,8 +10,6 @@ import { ObjectRecordDeleteEvent } from 'src/engine/core-modules/event-emitter/t
|
||||
import { ObjectRecordDestroyEvent } from 'src/engine/core-modules/event-emitter/types/object-record-destroy.event';
|
||||
import { ObjectRecordNonDestructiveEvent } from 'src/engine/core-modules/event-emitter/types/object-record-non-destructive-event';
|
||||
import { ObjectRecordUpdateEvent } from 'src/engine/core-modules/event-emitter/types/object-record-update.event';
|
||||
import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum';
|
||||
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
|
||||
import { InjectMessageQueue } from 'src/engine/core-modules/message-queue/decorators/message-queue.decorator';
|
||||
import { MessageQueue } from 'src/engine/core-modules/message-queue/message-queue.constants';
|
||||
import { MessageQueueService } from 'src/engine/core-modules/message-queue/services/message-queue.service';
|
||||
@ -36,7 +34,6 @@ export class DatabaseEventTriggerListener {
|
||||
private readonly twentyORMGlobalManager: TwentyORMGlobalManager,
|
||||
@InjectMessageQueue(MessageQueue.workflowQueue)
|
||||
private readonly messageQueueService: MessageQueueService,
|
||||
private readonly isFeatureFlagEnabledService: FeatureFlagService,
|
||||
private readonly workflowCommonWorkspaceService: WorkflowCommonWorkspaceService,
|
||||
) {}
|
||||
|
||||
@ -231,13 +228,7 @@ export class DatabaseEventTriggerListener {
|
||||
return true;
|
||||
}
|
||||
|
||||
const isWorkflowEnabled =
|
||||
await this.isFeatureFlagEnabledService.isFeatureEnabled(
|
||||
FeatureFlagKey.IS_WORKFLOW_ENABLED,
|
||||
workspaceId,
|
||||
);
|
||||
|
||||
return !isWorkflowEnabled;
|
||||
return false;
|
||||
}
|
||||
|
||||
private async handleEvent({
|
||||
|
||||
Reference in New Issue
Block a user