diff --git a/site/src/components/WorkspaceSchedule/WorkspaceSchedule.stories.tsx b/site/src/components/WorkspaceSchedule/WorkspaceSchedule.stories.tsx index 407810bf264a1..84ef4af2378e3 100644 --- a/site/src/components/WorkspaceSchedule/WorkspaceSchedule.stories.tsx +++ b/site/src/components/WorkspaceSchedule/WorkspaceSchedule.stories.tsx @@ -1,6 +1,7 @@ import { Story } from "@storybook/react" +import dayjs from "dayjs" import React from "react" -import { MockWorkspace } from "../../testHelpers/renderHelpers" +import * as Mocks from "../../testHelpers/entities" import { WorkspaceSchedule, WorkspaceScheduleProps } from "./WorkspaceSchedule" export default { @@ -11,7 +12,66 @@ export default { const Template: Story = (args) => -export const Example = Template.bind({}) -Example.args = { - workspace: MockWorkspace, +export const NoTTL = Template.bind({}) +NoTTL.args = { + workspace: { + ...Mocks.MockWorkspace, + ttl: undefined, + }, +} + +export const ShutdownSoon = Template.bind({}) +ShutdownSoon.args = { + workspace: { + ...Mocks.MockWorkspace, + + latest_build: { + ...Mocks.MockWorkspaceBuild, + transition: "start", + updated_at: dayjs().subtract(1, "hour").toString(), // 1 hour ago + }, + ttl: 2 * 60 * 60 * 1000 * 1_000_000, // 2 hours + }, +} + +export const ShutdownLong = Template.bind({}) +ShutdownLong.args = { + workspace: { + ...Mocks.MockWorkspace, + + latest_build: { + ...Mocks.MockWorkspaceBuild, + transition: "start", + updated_at: dayjs().toString(), + }, + ttl: 7 * 24 * 60 * 60 * 1000 * 1_000_000, // 7 days + }, +} + +export const WorkspaceOffShort = Template.bind({}) +WorkspaceOffShort.args = { + workspace: { + ...Mocks.MockWorkspace, + + latest_build: { + ...Mocks.MockWorkspaceBuild, + transition: "stop", + updated_at: dayjs().subtract(2, "days").toString(), + }, + ttl: 2 * 60 * 60 * 1000 * 1_000_000, // 2 hours + }, +} + +export const WorkspaceOffLong = Template.bind({}) +WorkspaceOffLong.args = { + workspace: { + ...Mocks.MockWorkspace, + + latest_build: { + ...Mocks.MockWorkspaceBuild, + transition: "stop", + updated_at: dayjs().subtract(2, "days").toString(), + }, + ttl: 2 * 365 * 24 * 60 * 60 * 1000 * 1_000_000, // 2 years + }, } diff --git a/site/src/components/WorkspaceStats/WorkspaceScheduleForm.stories.tsx b/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.stories.tsx similarity index 100% rename from site/src/components/WorkspaceStats/WorkspaceScheduleForm.stories.tsx rename to site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.stories.tsx diff --git a/site/src/components/WorkspaceStats/WorkspaceScheduleForm.test.ts b/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.test.ts similarity index 100% rename from site/src/components/WorkspaceStats/WorkspaceScheduleForm.test.ts rename to site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.test.ts diff --git a/site/src/components/WorkspaceStats/WorkspaceScheduleForm.tsx b/site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx similarity index 100% rename from site/src/components/WorkspaceStats/WorkspaceScheduleForm.tsx rename to site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.tsx diff --git a/site/src/components/WorkspaceStats/WorkspaceStats.stories.tsx b/site/src/components/WorkspaceStats/WorkspaceStats.stories.tsx index 03dcdf6047231..68bfe20a9de27 100644 --- a/site/src/components/WorkspaceStats/WorkspaceStats.stories.tsx +++ b/site/src/components/WorkspaceStats/WorkspaceStats.stories.tsx @@ -1,5 +1,4 @@ import { Story } from "@storybook/react" -import dayjs from "dayjs" import React from "react" import * as Mocks from "../../testHelpers/renderHelpers" import { WorkspaceStats, WorkspaceStatsProps } from "../WorkspaceStats/WorkspaceStats" @@ -11,66 +10,7 @@ export default { const Template: Story = (args) => -export const NoTTL = Template.bind({}) -NoTTL.args = { - workspace: { - ...Mocks.MockWorkspace, - ttl: undefined, - }, -} - -export const ShutdownSoon = Template.bind({}) -ShutdownSoon.args = { - workspace: { - ...Mocks.MockWorkspace, - - latest_build: { - ...Mocks.MockWorkspaceBuild, - transition: "start", - updated_at: dayjs().subtract(1, "hour").toString(), // 1 hour ago - }, - ttl: 2 * 60 * 60 * 1000 * 1_000_000, // 2 hours - }, -} - -export const ShutdownLong = Template.bind({}) -ShutdownLong.args = { - workspace: { - ...Mocks.MockWorkspace, - - latest_build: { - ...Mocks.MockWorkspaceBuild, - transition: "start", - updated_at: dayjs().toString(), - }, - ttl: 7 * 24 * 60 * 60 * 1000 * 1_000_000, // 7 days - }, -} - -export const WorkspaceOffShort = Template.bind({}) -WorkspaceOffShort.args = { - workspace: { - ...Mocks.MockWorkspace, - - latest_build: { - ...Mocks.MockWorkspaceBuild, - transition: "stop", - updated_at: dayjs().subtract(2, "days").toString(), - }, - ttl: 2 * 60 * 60 * 1000 * 1_000_000, // 2 hours - }, -} - -export const WorkspaceOffLong = Template.bind({}) -WorkspaceOffLong.args = { - workspace: { - ...Mocks.MockWorkspace, - - latest_build: { - ...Mocks.MockWorkspaceBuild, - transition: "stop", - updated_at: dayjs().subtract(2, "days").toString(), - }, - ttl: 2 * 365 * 24 * 60 * 60 * 1000 * 1_000_000, // 2 years - }, +export const Example = Template.bind({}) +Example.args = { + workspace: Mocks.MockWorkspace, } diff --git a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx index 798f6a7b62532..3b91ca54ae7ff 100644 --- a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx +++ b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.test.tsx @@ -1,5 +1,5 @@ import * as TypesGen from "../../api/typesGenerated" -import { WorkspaceScheduleFormValues } from "../../components/WorkspaceStats/WorkspaceScheduleForm" +import { WorkspaceScheduleFormValues } from "../../components/WorkspaceScheduleForm/WorkspaceScheduleForm" import * as Mocks from "../../testHelpers/entities" import { formValuesToAutoStartRequest, formValuesToTTLRequest, workspaceToInitialValues } from "./WorkspaceSchedulePage" diff --git a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx index a686daf4daf00..21ec0e71cdfb2 100644 --- a/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx +++ b/site/src/pages/WorkspaceSchedulePage/WorkspaceSchedulePage.tsx @@ -10,7 +10,7 @@ import { FullScreenLoader } from "../../components/Loader/FullScreenLoader" import { WorkspaceScheduleForm, WorkspaceScheduleFormValues, -} from "../../components/WorkspaceStats/WorkspaceScheduleForm" +} from "../../components/WorkspaceScheduleForm/WorkspaceScheduleForm" import { firstOrItem } from "../../util/array" import { dowToWeeklyFlag, extractTimezone, stripTimezone } from "../../util/schedule" import { workspaceSchedule } from "../../xServices/workspaceSchedule/workspaceScheduleXService"