From da5e4be0fd645df24892f81c553bc1808e3fec93 Mon Sep 17 00:00:00 2001 From: Michael Kret <88898367+michael-radency@users.noreply.github.com> Date: Tue, 11 Feb 2025 10:01:37 +0200 Subject: [PATCH] fix(Google Sheets Node): Do not delete row_number key from input item (#13158) --- .../nodes/Google/Sheet/test/v2/node/append.test.ts | 6 ++++-- .../nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.ts | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/nodes-base/nodes/Google/Sheet/test/v2/node/append.test.ts b/packages/nodes-base/nodes/Google/Sheet/test/v2/node/append.test.ts index d424f554bd..ec014eedf0 100644 --- a/packages/nodes-base/nodes/Google/Sheet/test/v2/node/append.test.ts +++ b/packages/nodes-base/nodes/Google/Sheet/test/v2/node/append.test.ts @@ -15,7 +15,7 @@ describe('Google Sheet - Append', () => { }); it('should insert input data if sheet is empty', async () => { - mockExecuteFunctions.getInputData.mockReturnValueOnce([ + const inputData = [ { json: { row_number: 3, @@ -27,7 +27,8 @@ describe('Google Sheet - Append', () => { input: undefined, }, }, - ]); + ]; + mockExecuteFunctions.getInputData.mockReturnValueOnce(inputData); mockExecuteFunctions.getNode.mockReturnValueOnce(mock({ typeVersion: 4.5 })); mockExecuteFunctions.getNodeParameter @@ -55,5 +56,6 @@ describe('Google Sheet - Append', () => { range: 'Sheet1', valueInputMode: 'USER_ENTERED', }); + expect(inputData[0].json).toEqual({ row_number: 3, name: 'NEW NAME', text: 'NEW TEXT' }); }); }); diff --git a/packages/nodes-base/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.ts b/packages/nodes-base/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.ts index e5b8c8ef55..f470783271 100644 --- a/packages/nodes-base/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.ts +++ b/packages/nodes-base/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.ts @@ -278,7 +278,9 @@ export async function autoMapInputData( } }); if (item.json[ROW_NUMBER]) { - delete item.json[ROW_NUMBER]; + const { [ROW_NUMBER]: _, ...json } = item.json; + returnData.push(json); + return; } returnData.push(item.json); });