fix: Prevent unnecessary error messages also for data loaded flag (#6201)

* fix: Prevent unnecessary error messages also for data loaded flag

* refactor: Search if data has been loaded before trying to save and fire other events

* fix broken test

* fix lint issue
This commit is contained in:
Omar Ajoue
2023-05-10 13:10:39 +02:00
committed by GitHub
parent f3bc6f19b6
commit d5e62ff096
2 changed files with 34 additions and 15 deletions

View File

@@ -1,11 +1,11 @@
import type { IRun, WorkflowExecuteMode } from 'n8n-workflow';
import { LoggerProxy } from 'n8n-workflow';
import { QueryFailedError } from 'typeorm';
import { mock } from 'jest-mock-extended';
import config from '@/config';
import * as Db from '@/Db';
import { User } from '@db/entities/User';
import { StatisticsNames } from '@db/entities/WorkflowStatistics';
import type { WorkflowStatistics } from '@db/entities/WorkflowStatistics';
import type { WorkflowStatisticsRepository } from '@db/repositories';
import { nodeFetchedData, workflowExecutionCompleted } from '@/events/WorkflowStatistics';
@@ -15,6 +15,7 @@ import { InternalHooks } from '@/InternalHooks';
import { mockInstance } from '../integration/shared/utils';
import { UserService } from '@/user/user.service';
import { WorkflowEntity } from '@/databases/entities/WorkflowEntity';
jest.mock('@/Db', () => {
return {
@@ -202,8 +203,14 @@ describe('Events', () => {
test('should not send metrics for entries that already have the flag set', async () => {
// Fetch data for workflow 2 which is set up to not be altered in the mocks
workflowStatisticsRepository.insert.mockImplementationOnce(() => {
throw new QueryFailedError('invalid insert', [], '');
workflowStatisticsRepository.findOne.mockImplementationOnce(async () => {
return {
count: 1,
name: StatisticsNames.dataLoaded,
latestEvent: new Date(),
workflowId: '2',
workflow: new WorkflowEntity(),
};
});
const workflowId = '1';
const node = {