diff --git a/app/forms/silo-create.tsx b/app/forms/silo-create.tsx index 1613e61805..3fafed1b56 100644 --- a/app/forms/silo-create.tsx +++ b/app/forms/silo-create.tsx @@ -19,6 +19,7 @@ import { TextField, TlsCertsField, } from 'app/components/form' +import { NumberField } from 'app/components/form/fields/NumberField' import { useForm, useToast } from 'app/hooks' import { pb } from 'app/util/path-builder' @@ -43,6 +44,10 @@ const defaultValues: SiloCreateFormValues = { }, } +function validateQuota(value: number) { + if (value < 0) return 'Must be at least 0' +} + export function CreateSiloSideModalForm() { const navigate = useNavigate() const queryClient = useApiQueryClient() @@ -97,6 +102,35 @@ export function CreateSiloSideModalForm() { Discoverable + + + + + { await page.click('role=link[name="New silo"]') - // fill out form and submit + // fill out form await page.fill('role=textbox[name="Name"]', 'other-silo') await page.fill('role=textbox[name="Description"]', 'definitely a silo') await expect(page.locator('role=checkbox[name="Discoverable"]')).toBeChecked() @@ -33,6 +33,9 @@ test('Create silo', async ({ page }) => { await page.click('role=radio[name="Local only"]') await page.fill('role=textbox[name="Admin group name"]', 'admins') await page.click('role=checkbox[name="Grant fleet admin role to silo admins"]') + await page.getByRole('textbox', { name: 'CPU quota (nCPUs)' }).fill('3') + await page.getByRole('textbox', { name: 'Memory quota (GiB)' }).fill('5') + await page.getByRole('textbox', { name: 'Storage quota (GiB)' }).fill('7') // Add a TLS cert const openCertModalButton = page.getByRole('button', { name: 'Add TLS certificate' })