feat: implement Phase 5 integration tests (workflow management)

Implemented comprehensive integration tests for workflow deletion and listing:

Test Coverage (16 scenarios):
- delete-workflow.test.ts: 3 tests
  * Successful deletion
  * Error handling for non-existent workflows
  * Cleanup verification

- list-workflows.test.ts: 13 tests
  * No filters (all workflows)
  * Filter by active status (true/false)
  * Filter verification
  * Pagination (first page, cursor, last page)
  * Limit variations (1, 50, 100)
  * Exclude pinned data
  * Empty results
  * Sort order verification

Critical Fixes:
- handleDeleteWorkflow: Now returns deleted workflow data (per n8n API spec)
- handleListWorkflows: Convert tags array to comma-separated string (n8n API format)
- N8nApiClient.deleteWorkflow: Return Workflow object instead of void
- WorkflowListParams.tags: Changed from string[] to string (API expects CSV format)

All 71 integration tests passing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
czlonkowski
2025-10-04 23:33:10 +02:00
parent b3d42b3390
commit 1cfbdc3bdf
5 changed files with 585 additions and 8 deletions

View File

@@ -161,9 +161,10 @@ export class N8nApiClient {
}
}
async deleteWorkflow(id: string): Promise<void> {
async deleteWorkflow(id: string): Promise<Workflow> {
try {
await this.client.delete(`/workflows/${id}`);
const response = await this.client.delete(`/workflows/${id}`);
return response.data;
} catch (error) {
throw handleN8nApiError(error);
}