From 7f76bf7abc16e4e4d7ddaaa375e63a9a631d22b8 Mon Sep 17 00:00:00 2001 From: Bob Qiu Date: Tue, 3 Nov 2026 12:09:16 +0800 Subject: [PATCH] feat(insomnia-test): enhance credential menus and improve spec handling --- .../preferences-credentials.component.ts | 22 ------------------- packages/insomnia-test/pages/spec.page.ts | 12 ++++++---- .../rename-and-delete-project.spec.ts | 4 +--- 3 files changed, 9 insertions(+), 29 deletions(-) diff --git a/packages/insomnia-test/components/preferences-credentials.component.ts b/packages/insomnia-test/components/preferences-credentials.component.ts index 0da4083da1..1c13b1c194 100644 --- a/packages/insomnia-test/components/preferences-credentials.component.ts +++ b/packages/insomnia-test/components/preferences-credentials.component.ts @@ -61,28 +61,6 @@ export class PreferencesCredentialsComponent extends PreferencesTabComponent { await modal.waitForHidden(); } - /** - * Adds a custom (username/PAT) Git credential from the Credentials tab, - * which must already be open (see `openCredentialsTab()`). - */ - async addCustomCredential(credential: GitCredential): Promise { - const modal = this.page.getByRole("dialog", { - name: /Access Token Credential/, - }); - await this.dialog - .getByRole("button", { name: "Create Git Credential" }) - .click(); - await this.page - .getByRole("menuitem", { name: "Access Token", exact: true }) - .click(); - await this.page.getByLabel("Author Email").fill(credential.authorEmail); - await this.page.getByLabel("Author Name").fill(credential.authorName); - await this.page.getByLabel("Username").fill(credential.username); - await this.page.getByLabel("Git Access Token").fill(credential.password); - await this.page.getByRole("button", { name: "Save Credential" }).click(); - await expect(modal).toBeHidden({ timeout: DEFAULT_TIMEOUT }); - } - /** * Adds an AWS cloud (vault) credential from the Credentials tab's * "Service Provider Credential List", which must already be open (see diff --git a/packages/insomnia-test/pages/spec.page.ts b/packages/insomnia-test/pages/spec.page.ts index 68145d50ea..e6d52dd0e2 100644 --- a/packages/insomnia-test/pages/spec.page.ts +++ b/packages/insomnia-test/pages/spec.page.ts @@ -382,10 +382,14 @@ export class SpecPage extends BasePage { * Reads every suite name currently listed in the Test Suites sidebar. */ async getTestSuiteNames(): Promise { - return new TableComponent( - this.page, - this.page.locator(this.TEST_SUITES_LIST), - ).rows.allInnerTexts(); + // Re-opening the Tests tab re-renders the list; wait for it to settle + // so a read taken mid-render doesn't return a stale or partial list. + return this.waitForStableValue(() => + new TableComponent( + this.page, + this.page.locator(this.TEST_SUITES_LIST), + ).rows.allInnerTexts(), + ); } /** diff --git a/packages/insomnia-test/tests/workspace/rename-and-delete-project.spec.ts b/packages/insomnia-test/tests/workspace/rename-and-delete-project.spec.ts index 60623ec3d3..1f4ceb556f 100644 --- a/packages/insomnia-test/tests/workspace/rename-and-delete-project.spec.ts +++ b/packages/insomnia-test/tests/workspace/rename-and-delete-project.spec.ts @@ -23,7 +23,5 @@ test("Verify Renaming And Deleting A Project Via The Dashboard", async ({ expect(foundByNewName?.id).toBe(project.id); expect(foundByOldName).toBeUndefined(); - await expect - .poll(() => workspaceFlow.getProject(newName), { timeout: 10_000 }) - .toBeUndefined(); + expect(await workspaceFlow.getProject(newName)).toBeUndefined(); });