From 707489ef7762161c6427f145ce4963b904ee5e29 Mon Sep 17 00:00:00 2001 From: shubh-bruno Date: Tue, 7 Jul 2026 19:52:12 +0530 Subject: [PATCH] fix(tests): update openFolderRequest function for tests (#8506) * fix(tests): update openFolderRequest function for tests * fix: update imports for openFolderRequest --------- Co-authored-by: shubh-bruno --- .../akamai-edgegrid-levels.spec.ts | 6 ++--- tests/script-errors/script-errors.spec.ts | 21 +----------------- tests/utils/page/actions.ts | 22 ++++++++++++++----- 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/tests/auth/akamai-edgegrid/akamai-edgegrid-levels.spec.ts b/tests/auth/akamai-edgegrid/akamai-edgegrid-levels.spec.ts index 4f490d2f8..4919aecd4 100644 --- a/tests/auth/akamai-edgegrid/akamai-edgegrid-levels.spec.ts +++ b/tests/auth/akamai-edgegrid/akamai-edgegrid-levels.spec.ts @@ -118,8 +118,8 @@ test.describe('Akamai EdgeGrid Authentication — collection, folder & inherit', test('Folder level: renders, persists, and an inheriting request signs', async ({ page, createTmpDir }) => { test.setTimeout(120_000); const values = valuesFor('folder-nonce'); - await createCollection(page, 'edgegrid-folder', await createTmpDir()); - await createFolder(page, 'folder-1', 'edgegrid-folder', true); + await createCollection(page, 'edgegrid-collection', await createTmpDir()); + await createFolder(page, 'folder-1', 'edgegrid-collection', true); await page.locator('.collection-item-name').filter({ hasText: 'folder-1' }).dblclick(); await page.locator('.tab.auth').click(); @@ -143,7 +143,7 @@ test.describe('Akamai EdgeGrid Authentication — collection, folder & inherit', await test.step('A request inside the folder set to Inherit signs with the folder EdgeGrid auth', async () => { await createRequest(page, 'folder-inherit-request', 'folder-1', { url: SIMULATOR_URL, inFolder: true }); - await openFolderRequest(page, 'folder-1', 'folder-inherit-request'); + await openFolderRequest(page, 'edgegrid-collection', 'folder-1', 'folder-inherit-request'); await selectRequestPaneTab(page, 'Auth'); await selectAuthMode(page, 'Inherit'); diff --git a/tests/script-errors/script-errors.spec.ts b/tests/script-errors/script-errors.spec.ts index ad1beaf88..17dc6e9e3 100644 --- a/tests/script-errors/script-errors.spec.ts +++ b/tests/script-errors/script-errors.spec.ts @@ -1,27 +1,8 @@ import { test, expect, Page } from '../../playwright'; import { buildScriptErrorLocators, buildCommonLocators } from '../utils/page/locators'; -import { openRequest, closeAllTabs, sendAndWaitForErrorCard, sendAndWaitForResponse } from '../utils/page/actions'; +import { openRequest, closeAllTabs, sendAndWaitForErrorCard, sendAndWaitForResponse, openFolderRequest } from '../utils/page/actions'; import { setSandboxMode, runCollection } from '../utils/page/runner'; -/** - * Helper: expand a folder in the sidebar and open a nested request. - * Clicking the collection row is idempotent (only expands, never collapses). - * Clicking the folder row is idempotent (only expands, never collapses). - */ -const openFolderRequest = async (page: Page, collectionName: string, folderName: string, requestName: string) => { - await test.step(`Open folder request "${requestName}" in "${folderName}"`, async () => { - const { sidebar, tabs } = buildCommonLocators(page); - await sidebar.collectionRow(collectionName).click(); - const folder = sidebar.folder(folderName); - await folder.waitFor({ state: 'visible' }); - await folder.click(); - const request = sidebar.request(requestName); - await request.waitFor({ state: 'visible' }); - await request.click(); - await expect(tabs.activeRequestTab()).toContainText(requestName); - }); -}; - for (const mode of ['safe', 'developer'] as const) { test.describe.serial(`Script Error Display [${mode} mode]`, () => { let scriptErrorLocators: ReturnType; diff --git a/tests/utils/page/actions.ts b/tests/utils/page/actions.ts index a0a2be6e7..9316846d7 100644 --- a/tests/utils/page/actions.ts +++ b/tests/utils/page/actions.ts @@ -1088,16 +1088,26 @@ const focusCollectionSettingsTab = async (page: Page, { timeout = 10000 } = {}) /** * Open a request within a folder + * Expand a folder in the sidebar and open a nested request. + * Clicks collection → folder → request explicitly to ensure the tree is expanded. * @param page - The page object + * @param collectionName - The name of the collection * @param folderName - The name of the folder * @param requestName - The name of the request - * @returns void */ -const openFolderRequest = async (page: Page, folderName: string, requestName: string) => { - await test.step(`Open request "${requestName}" in folder "${folderName}"`, async () => { - const locators = buildCommonLocators(page); - await locators.sidebar.folderRequest(folderName, requestName).click(); - await expect(locators.tabs.activeRequestTab()).toContainText(requestName); +const openFolderRequest = async (page: Page, collectionName: string, folderName: string, requestName: string) => { + await test.step(`Open folder request "${requestName}" in "${folderName}"`, async () => { + const { sidebar, tabs } = buildCommonLocators(page); + const collectionRow = sidebar.collectionRow(collectionName); + await collectionRow.click(); + const collectionWrapper = collectionRow.locator('..'); + const folder = collectionWrapper.locator('.collection-item-name').filter({ has: page.getByText(folderName, { exact: true }) }); + await folder.waitFor({ state: 'visible' }); + await folder.click(); + const request = collectionWrapper.locator('.collection-item-name').filter({ has: page.getByText(requestName, { exact: true }) }); + await request.waitFor({ state: 'visible' }); + await request.click(); + await expect(tabs.activeRequestTab()).toContainText(requestName); }); };