n8n/packages/cli/test/integration/services/workflow-static-data.service.test.ts
कारतोफ्फेलस्क्रिप्ट™ 39d5e0ff87
Some checks failed
Test Master / install-and-build (push) Waiting to run
Test Master / Unit tests (18.x) (push) Blocked by required conditions
Test Master / Unit tests (20.x) (push) Blocked by required conditions
Test Master / Unit tests (22.4) (push) Blocked by required conditions
Test Master / Lint (push) Blocked by required conditions
Test Master / Notify Slack on failure (push) Blocked by required conditions
Benchmark Docker Image CI / build (push) Has been cancelled
refactor(core): Replace typedi with our custom DI system (no-changelog) (#12389)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2025-01-06 10:21:24 +01:00

64 lines
2 KiB
TypeScript

import { Container } from '@n8n/di';
import { Workflow } from 'n8n-workflow';
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
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);
});
});