Skip to content

Commit

Permalink
add tests for BOM
Browse files Browse the repository at this point in the history
  • Loading branch information
netroy committed Oct 18, 2023
1 parent 6b7ac0b commit 506e910
Show file tree
Hide file tree
Showing 4 changed files with 184 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
import path from 'path';
import type { IWorkflowBase } from 'n8n-workflow';
import * as Helpers from '@test/nodes/Helpers';
import type { WorkflowTestData } from '@test/nodes/types';

import { executeWorkflow } from '@test/nodes/ExecuteWorkflow';
import path from 'path';

describe('Execute Spreadsheet File Node', () => {
beforeEach(async () => {
await Helpers.initBinaryDataService();
});

// replace workflow json 'Read Binary File' node's filePath to local file
const workflow = Helpers.readJsonFileSync('nodes/SpreadsheetFile/test/workflow.json');
const node = workflow.nodes.find((n: any) => n.name === 'Read Binary File');
node.parameters.filePath = path.join(__dirname, 'spreadsheet.csv');
const loadWorkflow = (fileName: string, csvName: string) => {
const workflow = Helpers.readJsonFileSync<IWorkflowBase>(
`nodes/SpreadsheetFile/test/${fileName}`,
);
const node = workflow.nodes.find((n) => n.name === 'Read Binary File');
node!.parameters.fileSelector = path.join(__dirname, csvName);
return workflow;
};

const tests: WorkflowTestData[] = [
{
description: 'execute workflow.json',
input: {
workflowData: workflow,
workflowData: loadWorkflow('workflow.json', 'spreadsheet.csv'),
},
output: {
nodeData: {
Expand Down Expand Up @@ -150,6 +154,18 @@ describe('Execute Spreadsheet File Node', () => {
},
},
},
{
description: 'execute workflow.bom.json',
input: {
workflowData: loadWorkflow('workflow.bom.json', 'bom.csv'),
},
output: {
nodeData: {
'Edit with BOM included': [[{ json: { X: null } }]],
'Edit with BOM excluded': [[{ json: { X: '1' } }]],
},
},
},
];

const nodeTypes = Helpers.setup(tests);
Expand Down
2 changes: 2 additions & 0 deletions packages/nodes-base/nodes/SpreadsheetFile/test/bom.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
a,b,c
1,2,3
155 changes: 155 additions & 0 deletions packages/nodes-base/nodes/SpreadsheetFile/test/workflow.bom.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
{
"nodes": [
{
"parameters": {},
"id": "40bf604f-19f9-43e7-8bbb-74c36925f154",
"name": "When clicking \"Execute Workflow\"",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
-320,
1040
]
},
{
"parameters": {
"fileSelector": "bom.csv"
},
"id": "623ea890-8882-4273-973e-834652d823b5",
"name": "Read Binary File",
"type": "n8n-nodes-base.readBinaryFiles",
"typeVersion": 1,
"position": [
-100,
1040
]
},
{
"parameters": {
"fileFormat": "csv",
"options": {
"enableBOM": true
}
},
"id": "c8cca5fb-e119-4ca1-a597-4f051a7f64ea",
"name": "Exclude BOM",
"type": "n8n-nodes-base.spreadsheetFile",
"typeVersion": 2,
"position": [
120,
960
]
},
{
"parameters": {
"fileFormat": "csv",
"options": {
"enableBOM": false
}
},
"id": "56ec11dc-966b-4d06-b8c0-61475b30333d",
"name": "Include BOM",
"type": "n8n-nodes-base.spreadsheetFile",
"typeVersion": 2,
"position": [
120,
1180
]
},
{
"parameters": {
"fields": {
"values": [
{
"name": "X",
"stringValue": "={{ $json.a }}"
}
]
},
"include": "none",
"options": {}
},
"id": "6f6bccf2-d674-4774-9df9-6f6fd893bace",
"name": "Edit with BOM excluded",
"type": "n8n-nodes-base.set",
"typeVersion": 3.2,
"position": [
320,
960
]
},
{
"parameters": {
"fields": {
"values": [
{
"name": "X",
"stringValue": "={{ $json.a }}"
}
]
},
"include": "none",
"options": {}
},
"id": "27ca5cde-19cb-4bf2-9ab4-7f7e77ad01bd",
"name": "Edit with BOM included",
"type": "n8n-nodes-base.set",
"typeVersion": 3.2,
"position": [
320,
1180
]
}
],
"connections": {
"When clicking \"Execute Workflow\"": {
"main": [
[
{
"node": "Read Binary File",
"type": "main",
"index": 0
}
]
]
},
"Exclude BOM": {
"main": [
[
{
"node": "Edit with BOM excluded",
"type": "main",
"index": 0
}
]
]
},
"Include BOM": {
"main": [
[
{
"node": "Edit with BOM included",
"type": "main",
"index": 0
}
]
]
},
"Read Binary File": {
"main": [
[
{
"node": "Exclude BOM",
"type": "main",
"index": 0
},
{
"node": "Include BOM",
"type": "main",
"index": 0
}
]
]
}
}
}
8 changes: 4 additions & 4 deletions packages/nodes-base/nodes/SpreadsheetFile/test/workflow.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@
},
{
"parameters": {
"filePath": "spreadsheet.csv"
"fileSelector": "spreadsheet.csv"
},
"id": "d7620053-eb3d-43dd-b2cd-d60d9a08a9cc",
"name": "Read Binary File",
"type": "n8n-nodes-base.readBinaryFile",
"typeVersion": 1,
"name": "Read Binary File",
"type": "n8n-nodes-base.readBinaryFiles",
"typeVersion": 1,
"position": [
840,
640
Expand Down

0 comments on commit 506e910

Please sign in to comment.