ci: Delete some duplicate code in cli tests (no-changelog) (#9049)
This commit is contained in:
committed by
GitHub
parent
b8ab049932
commit
ff77ef4b62
@@ -1,20 +1,14 @@
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import Container from 'typedi';
|
||||
import type { EntityMetadata } from '@n8n/typeorm';
|
||||
import { EntityManager, DataSource, Not, LessThanOrEqual } from '@n8n/typeorm';
|
||||
import { Not, LessThanOrEqual } from '@n8n/typeorm';
|
||||
|
||||
import config from '@/config';
|
||||
import { ExecutionEntity } from '@db/entities/ExecutionEntity';
|
||||
import { ExecutionRepository } from '@db/repositories/execution.repository';
|
||||
|
||||
import { mockInstance } from '../../shared/mocking';
|
||||
import { mockEntityManager } from '../../shared/mocking';
|
||||
|
||||
describe('ExecutionRepository', () => {
|
||||
const entityManager = mockInstance(EntityManager);
|
||||
const dataSource = mockInstance(DataSource, { manager: entityManager });
|
||||
dataSource.getMetadata.mockReturnValue(mock<EntityMetadata>({ target: ExecutionEntity }));
|
||||
Object.assign(entityManager, { connection: dataSource });
|
||||
|
||||
const entityManager = mockEntityManager(ExecutionEntity);
|
||||
const executionRepository = Container.get(ExecutionRepository);
|
||||
const mockDate = new Date('2023-12-28 12:34:56.789Z');
|
||||
|
||||
|
||||
@@ -1,21 +1,16 @@
|
||||
import { Container } from 'typedi';
|
||||
import { DataSource, EntityManager, type EntityMetadata } from '@n8n/typeorm';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import { hasScope } from '@n8n/permissions';
|
||||
|
||||
import type { User } from '@db/entities/User';
|
||||
import type { CredentialsEntity } from '@db/entities/CredentialsEntity';
|
||||
import { SharedCredentials } from '@db/entities/SharedCredentials';
|
||||
import { SharedCredentialsRepository } from '@db/repositories/sharedCredentials.repository';
|
||||
import { mockInstance } from '../../shared/mocking';
|
||||
import { memberPermissions, ownerPermissions } from '@/permissions/roles';
|
||||
import { hasScope } from '@n8n/permissions';
|
||||
import { mockEntityManager } from '../../shared/mocking';
|
||||
|
||||
describe('SharedCredentialsRepository', () => {
|
||||
const entityManager = mockInstance(EntityManager);
|
||||
const dataSource = mockInstance(DataSource, {
|
||||
manager: entityManager,
|
||||
getMetadata: () => mock<EntityMetadata>({ target: SharedCredentials }),
|
||||
});
|
||||
Object.assign(entityManager, { connection: dataSource });
|
||||
const entityManager = mockEntityManager(SharedCredentials);
|
||||
const repository = Container.get(SharedCredentialsRepository);
|
||||
|
||||
describe('findCredentialForUser', () => {
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user