diff --git a/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx b/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx index dbc88319cf..273ba64319 100644 --- a/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx +++ b/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx @@ -164,6 +164,23 @@ export const validationSchema = Yup.object({ export const defaultWorkspaceScheduleTTL = 8 +export const emptyWorkspaceSchedule = ( + ttl = 0, + timezone = dayjs.tz.guess(), +): WorkspaceScheduleFormValues => ({ + sunday: false, + monday: false, + tuesday: false, + wednesday: false, + thursday: false, + friday: false, + saturday: false, + + startTime: "", + timezone, + ttl, +}) + export const defaultWorkspaceSchedule = ( ttl = defaultWorkspaceScheduleTTL, timezone = dayjs.tz.guess(), diff --git a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx index 1f440e18ee..61ac5ddfc7 100644 --- a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx +++ b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx @@ -166,15 +166,15 @@ describe("WorkspaceSchedulePage", () => { }, { sunday: false, - monday: true, - tuesday: true, - wednesday: true, - thursday: true, - friday: true, + monday: false, + tuesday: false, + wednesday: false, + thursday: false, + friday: false, saturday: false, - startTime: "09:30", + startTime: "", timezone: "", - ttl: 8, + ttl: 0, }, ], @@ -185,6 +185,27 @@ describe("WorkspaceSchedulePage", () => { autostart_schedule: "", ttl_ms: 7_200_000, }, + { + sunday: false, + monday: false, + tuesday: false, + wednesday: false, + thursday: false, + friday: false, + saturday: false, + startTime: "", + timezone: "", + ttl: 2, + }, + ], + + // start schedule only + [ + { + ...Mocks.MockWorkspace, + autostart_schedule: "CRON_TZ=UTC 30 9 * * 1-5", + ttl_ms: undefined, + }, { sunday: false, monday: true, @@ -194,8 +215,8 @@ describe("WorkspaceSchedulePage", () => { friday: true, saturday: false, startTime: "09:30", - timezone: "", - ttl: 2, + timezone: "UTC", + ttl: 0, }, ], diff --git a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx index 3e74c1e17a..0477fc9347 100644 --- a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx +++ b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx @@ -9,8 +9,7 @@ import * as TypesGen from "../../api/typesGenerated" import { ErrorSummary } from "../../components/ErrorSummary/ErrorSummary" import { FullScreenLoader } from "../../components/Loader/FullScreenLoader" import { - defaultWorkspaceSchedule, - defaultWorkspaceScheduleTTL, + emptyWorkspaceSchedule, WorkspaceScheduleForm, WorkspaceScheduleFormValues, } from "../../components/WorkspaceScheduleForm/WorkspaceScheduleForm" @@ -111,10 +110,10 @@ export const workspaceToInitialValues = ( const schedule = workspace.autostart_schedule const ttlHours = workspace.ttl_ms ? Math.round(workspace.ttl_ms / (1000 * 60 * 60)) - : defaultWorkspaceScheduleTTL + : 0 if (!schedule) { - return defaultWorkspaceSchedule(ttlHours, defaultTimeZone) + return emptyWorkspaceSchedule(ttlHours, defaultTimeZone) } const timezone = extractTimezone(schedule, defaultTimeZone)