Files
n8n-enterprise-unlocked/packages/cli/test/integration/services/workflow-static-data.service.test.ts
Iván Ovejero 52f27a76ac refactor(core): Move workflow repository to @n8n/db (#15260)
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
2025-05-13 14:21:59 +02:00

64 lines
2.0 KiB
TypeScript

import { WorkflowRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import { Workflow } from 'n8n-workflow';
import { NodeTypes } from '@/node-types';
import { WorkflowStaticDataService } from '@/workflows/workflow-static-data.service';
import { mockInstance } from '@test/mocking';
import { createWorkflow } from '@test-integration/db/workflows';
import * as testDb from '@test-integration/test-db';
const nodeTypes = mockInstance(NodeTypes);
let workflowStaticDataService: WorkflowStaticDataService;
let workflowRepository: WorkflowRepository;
beforeAll(async () => {
await testDb.init();
workflowStaticDataService = Container.get(WorkflowStaticDataService);
workflowRepository = Container.get(WorkflowRepository);
});
afterAll(async () => {
await testDb.terminate();
});
describe('WorkflowStaticDataService', () => {
it('should not change workflow updatedAt when calling saveStaticData', async () => {
const workflowEntityOriginal = await createWorkflow();
const workflow = new Workflow({
id: workflowEntityOriginal.id,
active: false,
connections: {},
nodeTypes,
nodes: [],
});
workflow.staticData.testValue = 1;
await workflowStaticDataService.saveStaticData(workflow);
const workflowEntityNew = await workflowRepository.get({
id: workflowEntityOriginal.id,
});
expect(workflowEntityNew?.staticData).toEqual(workflow.staticData);
expect(workflowEntityNew?.updatedAt).toEqual(workflowEntityOriginal.updatedAt);
});
it('should not change workflow updatedAt when calling saveStaticDataById', async () => {
const workflowEntityOriginal = await createWorkflow();
const staticData = { testValue: 1 };
await workflowStaticDataService.saveStaticDataById(workflowEntityOriginal.id, staticData);
const workflowEntityNew = await workflowRepository.get({
id: workflowEntityOriginal.id,
});
expect(workflowEntityNew?.staticData).toEqual(staticData);
expect(workflowEntityNew?.updatedAt).toEqual(workflowEntityOriginal.updatedAt);
});
});