mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 01:56:46 +00:00
feat(editor): NDV in focus panel experiment feedback (no-changelog) (#19304)
This commit is contained in:
@@ -10,11 +10,17 @@ import type { useNodeTypesStore } from '@/stores/nodeTypes.store';
|
||||
import { useSettingsStore } from '@/stores/settings.store';
|
||||
import { mockedStore } from '@/__tests__/utils';
|
||||
import { createEventBus } from '@n8n/utils/event-bus';
|
||||
import { createMockEnterpriseSettings } from '@/__tests__/mocks';
|
||||
import {
|
||||
createTestExpressionLocalResolveContext,
|
||||
createMockEnterpriseSettings,
|
||||
createTestNode,
|
||||
createTestWorkflowObject,
|
||||
} from '@/__tests__/mocks';
|
||||
import { useWorkflowsStore } from '@/stores/workflows.store';
|
||||
import type { INodeParameterResourceLocator } from 'n8n-workflow';
|
||||
import { NodeConnectionTypes, type INodeParameterResourceLocator } from 'n8n-workflow';
|
||||
import type { IWorkflowDb, WorkflowListResource } from '@/Interface';
|
||||
import { mock } from 'vitest-mock-extended';
|
||||
import { ExpressionLocalResolveContextSymbol } from '@/constants';
|
||||
|
||||
function getNdvStateMock(): Partial<ReturnType<typeof useNDVStore>> {
|
||||
return {
|
||||
@@ -34,6 +40,8 @@ function getNdvStateMock(): Partial<ReturnType<typeof useNDVStore>> {
|
||||
expressionOutputItemIndex: 0,
|
||||
isTableHoverOnboarded: false,
|
||||
setHighlightDraggables: vi.fn(),
|
||||
setNDVPanelDataIsEmpty: vi.fn(),
|
||||
setNDVBranchIndex: vi.fn(),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -111,6 +119,8 @@ describe('ParameterInput.vue', () => {
|
||||
expressionOutputItemIndex: 0,
|
||||
isTableHoverOnboarded: false,
|
||||
setHighlightDraggables: vi.fn(),
|
||||
setNDVPanelDataIsEmpty: vi.fn(),
|
||||
setNDVBranchIndex: vi.fn(),
|
||||
};
|
||||
mockNodeTypesState = {
|
||||
allNodeTypes: [],
|
||||
@@ -649,4 +659,59 @@ describe('ParameterInput.vue', () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('data mapper', () => {
|
||||
const workflow = createTestWorkflowObject({
|
||||
nodes: [createTestNode({ name: 'n0' }), createTestNode({ name: 'n1' })],
|
||||
connections: {
|
||||
n1: {
|
||||
[NodeConnectionTypes.Main]: [[{ node: 'n0', index: 0, type: NodeConnectionTypes.Main }]],
|
||||
},
|
||||
},
|
||||
});
|
||||
const ctx = createTestExpressionLocalResolveContext({
|
||||
workflow,
|
||||
nodeName: 'n0',
|
||||
inputNode: { name: 'n1', runIndex: 0, branchIndex: 0 },
|
||||
});
|
||||
|
||||
it('should render mapper', async () => {
|
||||
const rendered = renderComponent({
|
||||
global: { provide: { [ExpressionLocalResolveContextSymbol]: ctx } },
|
||||
props: {
|
||||
path: 'name',
|
||||
parameter: { displayName: 'Name', name: 'name', type: 'string' },
|
||||
modelValue: '',
|
||||
},
|
||||
});
|
||||
|
||||
expect(rendered.queryByTestId('ndv-input-panel')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('should not render mapper if given node property is a node setting', async () => {
|
||||
const rendered = renderComponent({
|
||||
global: { provide: { [ExpressionLocalResolveContextSymbol]: ctx } },
|
||||
props: {
|
||||
path: 'name',
|
||||
parameter: { displayName: 'Name', name: 'name', type: 'string', isNodeSetting: true },
|
||||
modelValue: '',
|
||||
},
|
||||
});
|
||||
|
||||
expect(rendered.queryByTestId('ndv-input-panel')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('should not render mapper if given node property has datetime type', async () => {
|
||||
const rendered = renderComponent({
|
||||
global: { provide: { [ExpressionLocalResolveContextSymbol]: ctx } },
|
||||
props: {
|
||||
path: 'name',
|
||||
parameter: { displayName: 'Name', name: 'name', type: 'dateTime' },
|
||||
modelValue: '',
|
||||
},
|
||||
});
|
||||
|
||||
expect(rendered.queryByTestId('ndv-input-panel')).not.toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user