feat(Merge Node): Option in combineBySql operation to return either confirmation of succes or empty result (#15509)

This commit is contained in:
Michael Kret
2025-05-22 19:39:17 +03:00
committed by GitHub
parent 9938e63a66
commit a86bc43f50
4 changed files with 103 additions and 5 deletions

View File

@@ -396,6 +396,59 @@ describe('Test MergeV3, combineBySql operation', () => {
],
]);
});
it('Empty successful query should return [{ success: true }] at version <= 3.1', async () => {
const nodeParameters: IDataObject = {
operation: 'combineBySql',
query: 'SELECT id from input1',
};
const returnData = await mode.combineBySql.execute.call(
createMockExecuteFunction(nodeParameters, { ...node, typeVersion: 3.1 }),
[[]],
);
expect(returnData.length).toEqual(1);
expect(returnData[0].length).toEqual(1);
expect(returnData[0][0].json).toEqual({
success: true,
});
});
it('Empty successful query should return [] at version >= 3.2 if no option set', async () => {
const nodeParameters: IDataObject = {
operation: 'combineBySql',
query: 'SELECT id from input1',
};
const returnData = await mode.combineBySql.execute.call(
createMockExecuteFunction(nodeParameters, { ...node, typeVersion: 3.2 }),
[[]],
);
expect(returnData).toEqual([[]]);
});
it('Empty successful query should return [{ success: true }] at version >= 3.2 if option set', async () => {
const nodeParameters: IDataObject = {
operation: 'combineBySql',
query: 'SELECT id from input1',
options: {
emptyQueryResult: 'success',
},
};
const returnData = await mode.combineBySql.execute.call(
createMockExecuteFunction(nodeParameters, { ...node, typeVersion: 3.2 }),
[[]],
);
expect(returnData.length).toEqual(1);
expect(returnData[0].length).toEqual(1);
expect(returnData[0][0].json).toEqual({
success: true,
});
});
});
describe('Test MergeV3, append operation', () => {