fix: Test failing for toDate from string extension test (no-changelog) (#5142)

This commit is contained in:
Valya 2023-01-12 15:06:34 +00:00 committed by GitHub
parent c724de6be2
commit 94be3b61cb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 2 deletions

View file

@ -4,7 +4,7 @@
import { extend } from '@/Extensions';
import { dateExtensions } from '@/Extensions/DateExtensions';
import { evaluate } from './Helpers';
import { evaluate, getLocalISOString } from './Helpers';
describe('Data Transformation Functions', () => {
describe('Date Data Transformation Functions', () => {
@ -47,7 +47,8 @@ describe('Data Transformation Functions', () => {
});
test('.toDate() should work on a string', () => {
expect(evaluate('={{ "2022-01-03T00:00:00.000+00:00".toDate() }}')).toEqual(new Date(2022, 0, 3));
const date = new Date(2022, 0, 3);
expect(evaluate(`={{ "${getLocalISOString(date)}".toDate() }}`)).toEqual(date);
});
});
});

View file

@ -31,3 +31,12 @@ export const evaluate = (value: string, values?: INodeExecutionData[]) =>
'America/New_York',
{},
);
export const getLocalISOString = (date: Date) => {
const offset = date.getTimezoneOffset();
const offsetAbs = Math.abs(offset);
const isoString = new Date(date.getTime() - offset * 60 * 1000).toISOString();
const hours = String(Math.floor(offsetAbs / 60)).padStart(2, '0');
const minutes = String(offsetAbs % 60).padStart(2, '0');
return `${isoString.slice(0, -1)}${offset > 0 ? '-' : '+'}${hours}:${minutes}`;
};