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' })