ci: Delete some duplicate code in cli tests (no-changelog) (#9049)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2024-04-05 13:47:49 +02:00
committed by GitHub
parent b8ab049932
commit ff77ef4b62
5 changed files with 42 additions and 49 deletions

View File

@@ -1,22 +1,23 @@
import { WorkflowStatisticsRepository } from '@db/repositories/workflowStatistics.repository';
import { DataSource, EntityManager, InsertResult, QueryFailedError } from '@n8n/typeorm';
import { mockInstance } from '../../shared/mocking';
import { Container } from 'typedi';
import { type InsertResult, QueryFailedError } from '@n8n/typeorm';
import { mock, mockClear } from 'jest-mock-extended';
import { StatisticsNames, WorkflowStatistics } from '@/databases/entities/WorkflowStatistics';
const entityManager = mockInstance(EntityManager);
const dataSource = mockInstance(DataSource, { manager: entityManager });
dataSource.getMetadata.mockReturnValue(mock());
Object.assign(entityManager, { connection: dataSource });
const workflowStatisticsRepository = new WorkflowStatisticsRepository(dataSource);
import { StatisticsNames, WorkflowStatistics } from '@db/entities/WorkflowStatistics';
import { WorkflowStatisticsRepository } from '@db/repositories/workflowStatistics.repository';
import { mockEntityManager } from '../../shared/mocking';
describe('insertWorkflowStatistics', () => {
const entityManager = mockEntityManager(WorkflowStatistics);
const workflowStatisticsRepository = Container.get(WorkflowStatisticsRepository);
beforeEach(() => {
mockClear(entityManager.insert);
});
it('Successfully inserts data when it is not yet present', async () => {
entityManager.findOne.mockResolvedValueOnce(null);
entityManager.insert.mockResolvedValueOnce(mockInstance(InsertResult));
entityManager.insert.mockResolvedValueOnce(mock<InsertResult>());
const insertionResult = await workflowStatisticsRepository.insertWorkflowStatistics(
StatisticsNames.dataLoaded,
@@ -27,7 +28,7 @@ describe('insertWorkflowStatistics', () => {
});
it('Does not insert when data is present', async () => {
entityManager.findOne.mockResolvedValueOnce(mockInstance(WorkflowStatistics));
entityManager.findOne.mockResolvedValueOnce(mock<WorkflowStatistics>());
const insertionResult = await workflowStatisticsRepository.insertWorkflowStatistics(
StatisticsNames.dataLoaded,
'workflowId',
@@ -40,7 +41,7 @@ describe('insertWorkflowStatistics', () => {
it('throws an error when insertion fails', async () => {
entityManager.findOne.mockResolvedValueOnce(null);
entityManager.insert.mockImplementation(async () => {
throw new QueryFailedError('Query', [], 'driver error');
throw new QueryFailedError('Query', [], new Error('driver error'));
});
const insertionResult = await workflowStatisticsRepository.insertWorkflowStatistics(