fix(core): Stringify all Luxon DateTimes in cleanupParameterData (#8959)

This commit is contained in:
Elias Meire
2024-03-25 09:44:10 +01:00
committed by GitHub
parent 0e4216d7af
commit 1fb0dd4f1c
2 changed files with 12 additions and 1 deletions

View File

@@ -30,6 +30,7 @@ import { tmpdir } from 'os';
import { join } from 'path';
import Container from 'typedi';
import type { Agent } from 'https';
import toPlainObject from 'lodash/toPlainObject';
const temporaryDir = mkdtempSync(join(tmpdir(), 'n8n'));
@@ -425,6 +426,16 @@ describe('NodeExecuteFunctions', () => {
expect(typeof input.y).toBe('string');
});
it('should stringify plain Luxon dates in-place', () => {
const input = {
x: 1,
y: toPlainObject(DateTime.now()),
};
expect(typeof input.y).toBe('object');
cleanupParameterData(input);
expect(typeof input.y).toBe('string');
});
it('should handle objects with nameless constructors', () => {
const input = { x: 1, y: { constructor: {} } as NodeParameterValue };
expect(typeof input.y).toBe('object');