From 337a7daaa4e081e615ce87139c44b2deb5244468 Mon Sep 17 00:00:00 2001 From: G r e y Date: Thu, 9 Jun 2022 18:02:40 +0000 Subject: [PATCH 1/2] fix: initialValues for ws schedule Summary: When a schedule is not set, we default to M-F, 5 hours ttl --- .../WorkspaceScheduleForm.tsx | 28 ++++++++++--------- .../WorkspaceSchedulePage.test.tsx | 26 ++++++++--------- .../WorkspaceSchedulePage.tsx | 16 ++--------- 3 files changed, 31 insertions(+), 39 deletions(-) diff --git a/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx b/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx index e4bafbecd1546..e1da159fba0aa 100644 --- a/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx +++ b/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx @@ -151,21 +151,23 @@ export const validationSchema = Yup.object({ .max(24 * 7 /* 7 days */), }) +export const defaultWorkspaceSchedule = (ttl = 5, timezone = dayjs.tz.guess()): WorkspaceScheduleFormValues => ({ + sunday: false, + monday: true, + tuesday: true, + wednesday: true, + thursday: true, + friday: true, + saturday: false, + + startTime: "09:30", + timezone, + ttl, +}) + export const WorkspaceScheduleForm: FC = ({ fieldErrors, - initialValues = { - sunday: false, - monday: true, - tuesday: true, - wednesday: true, - thursday: true, - friday: true, - saturday: false, - - startTime: "09:30", - timezone: "", - ttl: 5, - }, + initialValues = defaultWorkspaceSchedule(), isLoading, onCancel, onSubmit, diff --git a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx index 5f9fee03d1853..e76eeb84aedd5 100644 --- a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx +++ b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx @@ -162,15 +162,15 @@ describe("WorkspaceSchedulePage", () => { }, { sunday: false, - monday: false, - tuesday: false, - wednesday: false, - thursday: false, - friday: false, + monday: true, + tuesday: true, + wednesday: true, + thursday: true, + friday: true, saturday: false, - startTime: "", + startTime: "09:30", timezone: "", - ttl: 0, + ttl: 5, }, ], @@ -183,13 +183,13 @@ describe("WorkspaceSchedulePage", () => { }, { sunday: false, - monday: false, - tuesday: false, - wednesday: false, - thursday: false, - friday: false, + monday: true, + tuesday: true, + wednesday: true, + thursday: true, + friday: true, saturday: false, - startTime: "", + startTime: "09:30", timezone: "", ttl: 2, }, diff --git a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx index 00af835a415a8..d684e4ed4cb57 100644 --- a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx +++ b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx @@ -9,6 +9,7 @@ import * as TypesGen from "../../api/typesGenerated" import { ErrorSummary } from "../../components/ErrorSummary/ErrorSummary" import { FullScreenLoader } from "../../components/Loader/FullScreenLoader" import { + defaultWorkspaceSchedule, WorkspaceScheduleForm, WorkspaceScheduleFormValues, } from "../../components/WorkspaceScheduleForm/WorkspaceScheduleForm" @@ -97,21 +98,10 @@ export const workspaceToInitialValues = ( defaultTimeZone = "", ): WorkspaceScheduleFormValues => { const schedule = workspace.autostart_schedule - const ttlHours = workspace.ttl_ms ? Math.round(workspace.ttl_ms / (1000 * 60 * 60)) : 0 + const ttlHours = workspace.ttl_ms ? Math.round(workspace.ttl_ms / (1000 * 60 * 60)) : 5 if (!schedule) { - return { - sunday: false, - monday: false, - tuesday: false, - wednesday: false, - thursday: false, - friday: false, - saturday: false, - startTime: "", - timezone: defaultTimeZone, - ttl: ttlHours, - } + return defaultWorkspaceSchedule(ttlHours, defaultTimeZone) } const timezone = extractTimezone(schedule, defaultTimeZone) From 3e3671092f1ff5651a715a79dc8bfd50f4045020 Mon Sep 17 00:00:00 2001 From: G r e y Date: Thu, 9 Jun 2022 18:09:13 +0000 Subject: [PATCH 2/2] fixup! fix: initialValues for ws schedule --- .../WorkspaceScheduleForm/WorkspaceScheduleForm.tsx | 7 ++++++- .../WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx | 2 +- .../pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx | 3 ++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx b/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx index e1da159fba0aa..20a86b58e8718 100644 --- a/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx +++ b/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx @@ -151,7 +151,12 @@ export const validationSchema = Yup.object({ .max(24 * 7 /* 7 days */), }) -export const defaultWorkspaceSchedule = (ttl = 5, timezone = dayjs.tz.guess()): WorkspaceScheduleFormValues => ({ +export const defaultWorkspaceScheduleTTL = 8 + +export const defaultWorkspaceSchedule = ( + ttl = defaultWorkspaceScheduleTTL, + timezone = dayjs.tz.guess(), +): WorkspaceScheduleFormValues => ({ sunday: false, monday: true, tuesday: true, diff --git a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx index e76eeb84aedd5..6d2ad5091d5e4 100644 --- a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx +++ b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx @@ -170,7 +170,7 @@ describe("WorkspaceSchedulePage", () => { saturday: false, startTime: "09:30", timezone: "", - ttl: 5, + ttl: 8, }, ], diff --git a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx index d684e4ed4cb57..dbed18ea91927 100644 --- a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx +++ b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx @@ -10,6 +10,7 @@ import { ErrorSummary } from "../../components/ErrorSummary/ErrorSummary" import { FullScreenLoader } from "../../components/Loader/FullScreenLoader" import { defaultWorkspaceSchedule, + defaultWorkspaceScheduleTTL, WorkspaceScheduleForm, WorkspaceScheduleFormValues, } from "../../components/WorkspaceScheduleForm/WorkspaceScheduleForm" @@ -98,7 +99,7 @@ export const workspaceToInitialValues = ( defaultTimeZone = "", ): WorkspaceScheduleFormValues => { const schedule = workspace.autostart_schedule - const ttlHours = workspace.ttl_ms ? Math.round(workspace.ttl_ms / (1000 * 60 * 60)) : 5 + const ttlHours = workspace.ttl_ms ? Math.round(workspace.ttl_ms / (1000 * 60 * 60)) : defaultWorkspaceScheduleTTL if (!schedule) { return defaultWorkspaceSchedule(ttlHours, defaultTimeZone)