diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.stories.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.stories.tsx index 63acc69604..b7f53808f1 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.stories.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.stories.tsx @@ -319,6 +319,18 @@ export const WithParameters: Story = { }, }; +export const WithTooLongPrefilledName: Story = { + args: { + defaultName: "this-name-is-way-too-long-and-exceeds-the-limit", + }, + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + await expect( + canvas.findByText(/Workspace Name cannot be longer than 32 characters/i), + ).resolves.toBeVisible(); + }, +}; + export const WithPresets: Story = { args: { presets: [ diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx index 7bc51ec138..0a544c52bc 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx @@ -127,6 +127,9 @@ export const CreateWorkspacePageView: FC = ({ const initialTouched = Object.fromEntries( parameters.filter((p) => autofillByName[p.name]).map((p) => [p.name, true]), ); + if (defaultName) { + initialTouched.name = true; + } // The form parameters values hold the working state of the parameters that will be submitted when creating a workspace // 1. The form parameter values are initialized from the websocket response when the form is mounted