fix: resolve lint errors in test utilities
- Fix TypeScript type imports for WorkflowNode and Workflow - Remove unsupported callerPolicy from workflow settings - Convert tags array to string array as per API types - Use 'any' type for INodeDefinition since it's from n8n-workflow package
This commit is contained in:
BIN
data/nodes.db
BIN
data/nodes.db
Binary file not shown.
@@ -1,5 +1,8 @@
|
||||
import { expect } from 'vitest';
|
||||
import { INodeDefinition, IWorkflow, INode } from '@/types/n8n-api';
|
||||
import { WorkflowNode, Workflow } from '@/types/n8n-api';
|
||||
|
||||
// Use any type for INodeDefinition since it's from n8n-workflow package
|
||||
type INodeDefinition = any;
|
||||
|
||||
/**
|
||||
* Custom assertions for n8n-mcp tests
|
||||
@@ -8,7 +11,7 @@ import { INodeDefinition, IWorkflow, INode } from '@/types/n8n-api';
|
||||
/**
|
||||
* Assert that a value is a valid node definition
|
||||
*/
|
||||
export function expectValidNodeDefinition(node: any): asserts node is INodeDefinition {
|
||||
export function expectValidNodeDefinition(node: any) {
|
||||
expect(node).toBeDefined();
|
||||
expect(node).toHaveProperty('name');
|
||||
expect(node).toHaveProperty('displayName');
|
||||
@@ -29,7 +32,7 @@ export function expectValidNodeDefinition(node: any): asserts node is INodeDefin
|
||||
/**
|
||||
* Assert that a value is a valid workflow
|
||||
*/
|
||||
export function expectValidWorkflow(workflow: any): asserts workflow is IWorkflow {
|
||||
export function expectValidWorkflow(workflow: any): asserts workflow is Workflow {
|
||||
expect(workflow).toBeDefined();
|
||||
expect(workflow).toHaveProperty('nodes');
|
||||
expect(workflow).toHaveProperty('connections');
|
||||
@@ -42,7 +45,7 @@ export function expectValidWorkflow(workflow: any): asserts workflow is IWorkflo
|
||||
});
|
||||
|
||||
// Check connections reference valid nodes
|
||||
const nodeIds = new Set(workflow.nodes.map((n: INode) => n.id));
|
||||
const nodeIds = new Set(workflow.nodes.map((n: WorkflowNode) => n.id));
|
||||
Object.keys(workflow.connections).forEach(sourceId => {
|
||||
expect(nodeIds.has(sourceId)).toBe(true);
|
||||
|
||||
@@ -60,7 +63,7 @@ export function expectValidWorkflow(workflow: any): asserts workflow is IWorkflo
|
||||
/**
|
||||
* Assert that a value is a valid workflow node
|
||||
*/
|
||||
export function expectValidWorkflowNode(node: any): asserts node is INode {
|
||||
export function expectValidWorkflowNode(node: any): asserts node is WorkflowNode {
|
||||
expect(node).toBeDefined();
|
||||
expect(node).toHaveProperty('id');
|
||||
expect(node).toHaveProperty('name');
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import { faker } from '@faker-js/faker';
|
||||
import { INodeDefinition, INode, IWorkflow } from '@/types/n8n-api';
|
||||
import { WorkflowNode, Workflow } from '@/types/n8n-api';
|
||||
|
||||
// Use any type for INodeDefinition since it's from n8n-workflow package
|
||||
type INodeDefinition = any;
|
||||
|
||||
/**
|
||||
* Data generators for creating realistic test data
|
||||
@@ -117,7 +120,7 @@ function generateDisplayOptions(): any {
|
||||
/**
|
||||
* Generate a complete node definition
|
||||
*/
|
||||
export function generateNodeDefinition(overrides?: Partial<INodeDefinition>): INodeDefinition {
|
||||
export function generateNodeDefinition(overrides?: Partial<INodeDefinition>): any {
|
||||
const nodeCategory = faker.helpers.arrayElement([
|
||||
'Core Nodes', 'Communication', 'Data Transformation',
|
||||
'Development', 'Files', 'Productivity', 'Analytics'
|
||||
@@ -155,8 +158,8 @@ export function generateNodeDefinition(overrides?: Partial<INodeDefinition>): IN
|
||||
/**
|
||||
* Generate workflow nodes
|
||||
*/
|
||||
export function generateWorkflowNodes(count = 3): INode[] {
|
||||
const nodes: INode[] = [];
|
||||
export function generateWorkflowNodes(count = 3): WorkflowNode[] {
|
||||
const nodes: WorkflowNode[] = [];
|
||||
|
||||
for (let i = 0; i < count; i++) {
|
||||
nodes.push({
|
||||
@@ -221,7 +224,7 @@ function generateNodeParameters(): Record<string, any> {
|
||||
/**
|
||||
* Generate workflow connections
|
||||
*/
|
||||
export function generateConnections(nodes: INode[]): Record<string, any> {
|
||||
export function generateConnections(nodes: WorkflowNode[]): Record<string, any> {
|
||||
const connections: Record<string, any> = {};
|
||||
|
||||
// Connect nodes sequentially
|
||||
@@ -263,7 +266,7 @@ export function generateConnections(nodes: INode[]): Record<string, any> {
|
||||
/**
|
||||
* Generate a complete workflow
|
||||
*/
|
||||
export function generateWorkflow(nodeCount = 3): IWorkflow {
|
||||
export function generateWorkflow(nodeCount = 3): Workflow {
|
||||
const nodes = generateWorkflowNodes(nodeCount);
|
||||
|
||||
return {
|
||||
@@ -281,11 +284,10 @@ export function generateWorkflow(nodeCount = 3): IWorkflow {
|
||||
settings: {
|
||||
executionOrder: 'v1',
|
||||
saveManualExecutions: true,
|
||||
callerPolicy: 'workflowsFromSameOwner',
|
||||
timezone: faker.location.timeZone()
|
||||
},
|
||||
staticData: {},
|
||||
tags: generateTags(),
|
||||
tags: generateTags().map(t => t.name),
|
||||
createdAt: faker.date.past().toISOString(),
|
||||
updatedAt: faker.date.recent().toISOString()
|
||||
};
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import { vi } from 'vitest';
|
||||
import { INodeDefinition, INode, IWorkflow } from '@/types/n8n-api';
|
||||
import { WorkflowNode, Workflow } from '@/types/n8n-api';
|
||||
|
||||
// Use any type for INodeDefinition since it's from n8n-workflow package
|
||||
type INodeDefinition = any;
|
||||
|
||||
/**
|
||||
* Common test utilities and helpers
|
||||
@@ -48,7 +51,7 @@ export function createMockNodeDefinition(overrides?: Partial<INodeDefinition>):
|
||||
/**
|
||||
* Create a mock workflow node
|
||||
*/
|
||||
export function createMockNode(overrides?: Partial<INode>): INode {
|
||||
export function createMockNode(overrides?: Partial<WorkflowNode>): WorkflowNode {
|
||||
return {
|
||||
id: 'mock-node-id',
|
||||
name: 'Mock Node',
|
||||
@@ -63,7 +66,7 @@ export function createMockNode(overrides?: Partial<INode>): INode {
|
||||
/**
|
||||
* Create a mock workflow
|
||||
*/
|
||||
export function createMockWorkflow(overrides?: Partial<IWorkflow>): IWorkflow {
|
||||
export function createMockWorkflow(overrides?: Partial<Workflow>): Workflow {
|
||||
return {
|
||||
id: 'mock-workflow-id',
|
||||
name: 'Mock Workflow',
|
||||
|
||||
Reference in New Issue
Block a user