diff --git a/site/e2e/tests/deployment/licenses.spec.ts b/site/e2e/tests/deployment/licenses.spec.ts new file mode 100644 index 0000000000000..89546bbec8333 --- /dev/null +++ b/site/e2e/tests/deployment/licenses.spec.ts @@ -0,0 +1,30 @@ +import { expect, test } from "@playwright/test"; +import { requiresEnterpriseLicense } from "../../helpers"; + +test("license was added successfully", async ({ page }) => { + requiresEnterpriseLicense(); + + await page.goto("/deployment/licenses", { waitUntil: "domcontentloaded" }); + const firstLicense = page.locator(".licenses > .license-card", { + hasText: "#1", + }); + await expect(firstLicense).toBeVisible(); + + // Trial vs. Enterprise? + const accountType = firstLicense.locator(".account-type"); + await expect(accountType).toHaveText("Enterprise"); + + // User limit 1/1 + const userLimit = firstLicense.locator(".user-limit"); + await expect(userLimit).toHaveText("1 / 1"); + + // License should not be expired yet + const licenseExpires = firstLicense.locator(".license-expires"); + const licenseExpiresDate = new Date(await licenseExpires.innerText()); + const now = new Date(); + expect(licenseExpiresDate.getTime()).toBeGreaterThan(now.getTime()); + + // "Remove" button should be visible + const removeButton = firstLicense.locator(".remove-button"); + await expect(removeButton).toBeVisible(); +}); diff --git a/site/e2e/tests/enterprise.spec.ts b/site/e2e/tests/enterprise.spec.ts deleted file mode 100644 index 4758d43ae1802..0000000000000 --- a/site/e2e/tests/enterprise.spec.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { expect, test } from "@playwright/test"; -import { requiresEnterpriseLicense } from "../helpers"; - -test("license was added successfully", async ({ page }) => { - requiresEnterpriseLicense(); - - await page.goto("/deployment/licenses", { waitUntil: "domcontentloaded" }); - const license = page.locator(".MuiPaper-root", { hasText: "#1" }); - await expect(license).toBeVisible(); -}); diff --git a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicenseCard.tsx b/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicenseCard.tsx index e22330e663eb4..f3c9707c19e22 100644 --- a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicenseCard.tsx +++ b/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicenseCard.tsx @@ -32,7 +32,12 @@ export const LicenseCard: FC = ({ license.claims.features["user_limit"] || userLimitLimit; return ( - + = ({ alignItems="center" > #{license.id} - + {license.claims.trial ? "Trial" : "Enterprise"} = ({ > Users - + {userLimitActual} {` / ${currentUserLimit || "Unlimited"}`} @@ -92,7 +97,7 @@ export const LicenseCard: FC = ({ ) : ( Valid Until )} - + {dayjs .unix(license.claims.license_expires) .format("MMMM D, YYYY")} @@ -104,6 +109,7 @@ export const LicenseCard: FC = ({ variant="contained" size="small" onClick={() => setLicenseIDMarkedForRemoval(license.id)} + className="remove-button" > Remove… diff --git a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPageView.tsx b/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPageView.tsx index 08c2db5862cd8..9d023c1749bb9 100644 --- a/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPageView.tsx +++ b/site/src/pages/DeploySettingsPage/LicensesSettingsPage/LicensesSettingsPageView.tsx @@ -84,7 +84,7 @@ const LicensesSettingsPageView: FC = ({ {isLoading && } {!isLoading && licenses && licenses?.length > 0 && ( - + {licenses ?.sort( (a, b) =>