n8n/packages/cli/test/integration/services/workflow-static-data.service.test.ts

63 lines
2 KiB
TypeScript

import { WorkflowStaticDataService } from '@/workflows/workflow-static-data.service';
import * as testDb from '@test-integration/test-db';
import Container from 'typedi';
import { createWorkflow } from '@test-integration/db/workflows';
import { Workflow } from 'n8n-workflow';
import { mockInstance } from '@test/mocking';
import { NodeTypes } from '@/node-types';
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
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);
});
});