diff --git a/tests/helpers/proxy-api.ts b/tests/helpers/proxy-api.ts index f8dc2622..53caf3c6 100644 --- a/tests/helpers/proxy-api.ts +++ b/tests/helpers/proxy-api.ts @@ -76,14 +76,22 @@ export async function createProxyHost(page: Page, config: ProxyHostConfig): Prom } if (config.certificateName) { - await page.getByRole('combobox', { name: /certificate/i }).click(); - await page.getByRole('option', { name: config.certificateName, exact: true }).click(); + const certTrigger = page.getByRole('combobox', { name: /certificate/i }); + await certTrigger.scrollIntoViewIfNeeded(); + await certTrigger.click(); + const certOption = page.getByRole('option', { name: config.certificateName, exact: true }); + await expect(certOption).toBeVisible({ timeout: 5_000 }); + await certOption.click(); } if (config.accessListName) { - // MUI TextField select — click to open dropdown, then pick the option - await page.getByRole('combobox', { name: /access list/i }).click(); - await page.getByRole('option', { name: config.accessListName }).click(); + // shadcn/Radix Select — click trigger to open portal dropdown, wait for option, then click + const accessListTrigger = page.getByRole('combobox', { name: /access list/i }); + await accessListTrigger.scrollIntoViewIfNeeded(); + await accessListTrigger.click(); + const option = page.getByRole('option', { name: config.accessListName }); + await expect(option).toBeVisible({ timeout: 5_000 }); + await option.click(); } if (config.mtlsCaNames?.length) { diff --git a/tests/integration/instance-sync.test.ts b/tests/integration/instance-sync.test.ts index 8a02c6c9..066433ee 100644 --- a/tests/integration/instance-sync.test.ts +++ b/tests/integration/instance-sync.test.ts @@ -18,11 +18,8 @@ import type { TestDb } from '../helpers/db'; // --------------------------------------------------------------------------- const ctx = vi.hoisted(() => { - // eslint-disable-next-line @typescript-eslint/no-require-imports const { mkdirSync } = require('node:fs'); - // eslint-disable-next-line @typescript-eslint/no-require-imports const { join } = require('node:path'); - // eslint-disable-next-line @typescript-eslint/no-require-imports const { tmpdir } = require('node:os'); const dir = join(tmpdir(), `instance-sync-test-${Date.now()}`); mkdirSync(dir, { recursive: true }); diff --git a/tests/integration/l4-caddy-config.test.ts b/tests/integration/l4-caddy-config.test.ts index c91d4155..d9a8b15a 100644 --- a/tests/integration/l4-caddy-config.test.ts +++ b/tests/integration/l4-caddy-config.test.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ /** * Integration tests for L4 Caddy config generation. * diff --git a/tests/integration/l4-ports.test.ts b/tests/integration/l4-ports.test.ts index c2f4f5fb..1bb896eb 100644 --- a/tests/integration/l4-ports.test.ts +++ b/tests/integration/l4-ports.test.ts @@ -14,11 +14,8 @@ import type { TestDb } from '../helpers/db'; // --------------------------------------------------------------------------- const ctx = vi.hoisted(() => { - // eslint-disable-next-line @typescript-eslint/no-require-imports const { mkdirSync } = require('node:fs'); - // eslint-disable-next-line @typescript-eslint/no-require-imports const { join } = require('node:path'); - // eslint-disable-next-line @typescript-eslint/no-require-imports const { tmpdir } = require('node:os'); const dir = join(tmpdir(), `l4-ports-test-${Date.now()}`); mkdirSync(dir, { recursive: true }); diff --git a/tests/unit/l4-proxy-hosts-validation.test.ts b/tests/unit/l4-proxy-hosts-validation.test.ts index d4a6584a..0f56b8b1 100644 --- a/tests/unit/l4-proxy-hosts-validation.test.ts +++ b/tests/unit/l4-proxy-hosts-validation.test.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ /** * Unit tests for L4 proxy host input validation. *