From 035271b510d5f4f4053685cf156410775d8e5d46 Mon Sep 17 00:00:00 2001 From: Yuneng Jiang Date: Thu, 17 Sep 2026 23:15:31 -0700 Subject: [PATCH] test(ui): preserve cleanup on failed readback --- tests/e2e/ui/tests/prompts/addPrompt.spec.ts | 53 +++++++++---------- .../tests/tagManagement/tagManagement.spec.ts | 33 ++++++------ 2 files changed, 42 insertions(+), 44 deletions(-) diff --git a/tests/e2e/ui/tests/prompts/addPrompt.spec.ts b/tests/e2e/ui/tests/prompts/addPrompt.spec.ts index a4a6cf62b7e..2b254c78b10 100644 --- a/tests/e2e/ui/tests/prompts/addPrompt.spec.ts +++ b/tests/e2e/ui/tests/prompts/addPrompt.spec.ts @@ -17,32 +17,32 @@ test.describe("Prompt upload form", () => { await navigateToPage(page, DashboardPage.Prompts); await page.getByRole("button", { name: "Upload .prompt File" }).click(); - await expect( - page.getByRole("dialog", { name: "Add New Prompt" }), - ).toBeVisible(); - await page.getByLabel("Prompt ID").fill(promptId); - await page.locator('input[type="file"]').setInputFiles({ - name: "e2e.prompt", - mimeType: "text/plain", - buffer: Buffer.from( - `model: fake-openai-gpt-4\ntemplate: "${promptContent}"\n`, - ), - }); - await expect(page.getByText("Selected: e2e.prompt")).toBeVisible(); - await page.getByRole("button", { name: "Create Prompt" }).click(); - - await expect - .poll(async () => { - const response = await page.request.get( - `/prompts/${encodeURIComponent(promptId)}/info?environment=development`, - { - headers: { Authorization: `Bearer ${masterKey()}` }, - }, - ); - return response.ok(); - }) - .toBe(true); try { + await expect( + page.getByRole("dialog", { name: "Add New Prompt" }), + ).toBeVisible(); + await page.getByLabel("Prompt ID").fill(promptId); + await page.locator('input[type="file"]').setInputFiles({ + name: "e2e.prompt", + mimeType: "text/plain", + buffer: Buffer.from( + `model: fake-openai-gpt-4\ntemplate: "${promptContent}"\n`, + ), + }); + await expect(page.getByText("Selected: e2e.prompt")).toBeVisible(); + await page.getByRole("button", { name: "Create Prompt" }).click(); + + await expect + .poll(async () => { + const response = await page.request.get( + `/prompts/${encodeURIComponent(promptId)}/info?environment=development`, + { + headers: { Authorization: `Bearer ${masterKey()}` }, + }, + ); + return response.ok(); + }) + .toBe(true); await expect .poll(async () => { const response = await page.request.get( @@ -60,13 +60,12 @@ test.describe("Prompt upload form", () => { .toContain(promptContent); await expect(page.getByText(promptId, { exact: true })).toBeVisible(); } finally { - const deleteResponse = await page.request.delete( + await page.request.delete( `/prompts/${encodeURIComponent(promptId)}?environment=development`, { headers: { Authorization: `Bearer ${masterKey()}` }, }, ); - expect(deleteResponse.ok()).toBe(true); } }); }); diff --git a/tests/e2e/ui/tests/tagManagement/tagManagement.spec.ts b/tests/e2e/ui/tests/tagManagement/tagManagement.spec.ts index 1104031263e..785211463dd 100644 --- a/tests/e2e/ui/tests/tagManagement/tagManagement.spec.ts +++ b/tests/e2e/ui/tests/tagManagement/tagManagement.spec.ts @@ -17,22 +17,22 @@ test.describe("Tag management", () => { await navigateToPage(page, DashboardPage.TagManagement); await page.getByRole("button", { name: "+ Create New Tag" }).click(); - await expect( - page.getByRole("dialog", { name: "Create New Tag" }), - ).toBeVisible(); - await page.getByLabel("Tag Name").fill(tagName); - await page.getByLabel("Description").fill(description); - await page.getByRole("button", { name: "Create Tag" }).click(); - - await expect - .poll(async () => { - const response = await readBack< - Record> - >(page, "/tag/list"); - return Object.values(response).some((tag) => tag.name === tagName); - }) - .toBe(true); try { + await expect( + page.getByRole("dialog", { name: "Create New Tag" }), + ).toBeVisible(); + await page.getByLabel("Tag Name").fill(tagName); + await page.getByLabel("Description").fill(description); + await page.getByRole("button", { name: "Create Tag" }).click(); + + await expect + .poll(async () => { + const response = await readBack< + Record> + >(page, "/tag/list"); + return Object.values(response).some((tag) => tag.name === tagName); + }) + .toBe(true); await expect(page.getByText(tagName, { exact: true })).toBeVisible(); await page.getByText(tagName, { exact: true }).click(); @@ -64,14 +64,13 @@ test.describe("Tag management", () => { }) .toBe(updatedDescription); } finally { - const deleteResponse = await page.request.post("/tag/delete", { + await page.request.post("/tag/delete", { headers: { Authorization: `Bearer ${masterKey()}`, "Content-Type": "application/json", }, data: { name: tagName }, }); - expect(deleteResponse.ok()).toBe(true); } }); });