Fix secret kind field visibility
Deploy / deploy (push) Successful in 1m33s
CI / Rust Checks (push) Successful in 4m52s
CI / UI Checks (push) Successful in 4s
CI / Deployment Manifests (push) Successful in 2s
CI / Frontend E2E (push) Successful in 4m32s

This commit is contained in:
github-ops
2026-06-20 11:31:57 +00:00
parent 0fd3b7ba85
commit 2234529a20
2 changed files with 44 additions and 1 deletions
+4
View File
@@ -3,6 +3,10 @@
Used by: api-keys, logs, usage, settings
══════════════════════════════════════════════════ */
[hidden] {
display: none !important;
}
/* ── Dropdown divider (used in navbar and elsewhere) ── */
.dropdown-divider {
height: 1px;
+40 -1
View File
@@ -1,5 +1,5 @@
const { test, expect } = require('@playwright/test');
const { browserJson, getCurrentWorkspace, login, uniqueName } = require('./helpers');
const { browserJson, getCurrentWorkspace, localized, login, uniqueName } = require('./helpers');
test('created workspace secret renders styled table actions', async ({ page }) => {
const secretName = uniqueName('ui_secret');
@@ -26,3 +26,42 @@ test('created workspace secret renders styled table actions', async ({ page }) =
await expect(row.locator('[data-testid="secret-delete-action"]')).toHaveClass(/btn-danger/);
await expect(row.locator('[data-testid="secret-delete-action"]')).toHaveClass(/table-action-btn/);
});
test('secret modal shows fields for selected secret kind only', async ({ page }) => {
await login(page);
await page.goto('/secrets');
await page.locator('[data-testid="secret-create-button"]').click();
await expect(page.locator('[data-testid="secret-create-modal"]')).toBeVisible();
const stringField = page.locator('[data-kind-field="string"]');
const basicField = page.locator('[data-kind-field="basic"]');
const jsonField = page.locator('[data-kind-field="json"]');
const kindSelect = page.locator('[data-testid="secret-kind-select"]');
await expect(stringField).toBeVisible();
await expect(basicField).toBeHidden();
await expect(jsonField).toBeHidden();
await kindSelect.selectOption('username_password');
await expect(stringField).toBeHidden();
await expect(basicField).toBeVisible();
await expect(jsonField).toBeHidden();
await kindSelect.selectOption('header');
await expect(stringField).toBeVisible();
await expect(page.locator('#secret-string-label')).toHaveText(localized('Header value', 'Значение заголовка'));
await expect(basicField).toBeHidden();
await expect(jsonField).toBeHidden();
await kindSelect.selectOption('generic');
await expect(stringField).toBeHidden();
await expect(basicField).toBeHidden();
await expect(jsonField).toBeVisible();
await kindSelect.selectOption('token');
await expect(stringField).toBeVisible();
await expect(page.locator('#secret-string-label')).toHaveText(localized('Token value', 'Значение токена'));
await expect(basicField).toBeHidden();
await expect(jsonField).toBeHidden();
});