Skip to content

Commit

Permalink
fix: Test failing for toDate from string extension test (no-changelog) (
Browse files Browse the repository at this point in the history
  • Loading branch information
valya authored Jan 12, 2023
1 parent c724de6 commit 94be3b6
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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', () => {
Expand Down Expand Up @@ -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);
});
});
});
9 changes: 9 additions & 0 deletions packages/workflow/test/ExpressionExtensions/Helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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}`;
};

0 comments on commit 94be3b6

Please sign in to comment.