From 0cf2ee07993a1816c36cac1feb9dced45f221a37 Mon Sep 17 00:00:00 2001 From: Riley Bauer Date: Mon, 5 Nov 2018 14:12:00 -0800 Subject: [PATCH] Fixes off-by-one error with months in Trigger --- frontend/src/lib/TriggerUtils.test.ts | 5 +++-- frontend/src/lib/TriggerUtils.ts | 2 +- frontend/src/pages/NewRun.tsx | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/frontend/src/lib/TriggerUtils.test.ts b/frontend/src/lib/TriggerUtils.test.ts index 029a1410c37..fe06522582c 100644 --- a/frontend/src/lib/TriggerUtils.test.ts +++ b/frontend/src/lib/TriggerUtils.test.ts @@ -148,9 +148,10 @@ describe('TriggerUtils', () => { expect(pickersToDate(false, 'some string', 'some string')).toBeUndefined(); }); - const date = new Date(2018, 8, 13, 17, 33); + // JS dates are 0-indexed, so 0 here is actually January. + const date = new Date(2018, 0, 13, 17, 33); it('converts picker format to date if hasDate is true', () => { - expect(pickersToDate(true, '2018-8-13', '17:33')!.toISOString()).toBe(date.toISOString()); + expect(pickersToDate(true, '2018-1-13', '17:33')!.toISOString()).toBe(date.toISOString()); }); it('throws on bad format', () => { diff --git a/frontend/src/lib/TriggerUtils.ts b/frontend/src/lib/TriggerUtils.ts index 0bc7afbf9ac..39bb62e93b2 100644 --- a/frontend/src/lib/TriggerUtils.ts +++ b/frontend/src/lib/TriggerUtils.ts @@ -120,7 +120,7 @@ export function pickersToDate(hasDate: boolean, dateStr: string, timeStr: string const [year, month, date] = dateStr.split('-'); const [hour, minute] = timeStr.split(':'); - const d = new Date(+year, +month, +date, +hour, +minute); + const d = new Date(+year, (+month - 1), +date, +hour, +minute); if (isNaN(d as any)) { throw new Error('Invalid picker format'); } diff --git a/frontend/src/pages/NewRun.tsx b/frontend/src/pages/NewRun.tsx index eca22dd79d8..92d606dec38 100644 --- a/frontend/src/pages/NewRun.tsx +++ b/frontend/src/pages/NewRun.tsx @@ -165,7 +165,7 @@ class NewRun extends Page<{}, NewRunState> {
Run parameters
{this._runParametersMessage(pipeline)}
- {pipeline && pipeline.parameters && pipeline.parameters.length && ( + {pipeline && pipeline.parameters && !!pipeline.parameters.length && (
{pipeline && (pipeline.parameters || []).map((param, i) =>