diff --git a/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts b/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts index 9f53ab1881..699c84c0cd 100644 --- a/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts +++ b/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts @@ -56,24 +56,34 @@ export class ToolbarFilterPage extends BasePage { }) { if (!openModal) await this.get().locator(`button:has-text("Add Filter")`).first().click(); - const selectedField = await getTextExcludeIconText(await this.rootPage.locator('.nc-filter-field-select')); + const selectedField = await getTextExcludeIconText(await this.rootPage.locator('.nc-filter-field-select .ant-select-selection-item')); if (selectedField !== title) { await this.rootPage.locator('.nc-filter-field-select').last().click(); - await this.rootPage + + await this.waitForResponse({ + uiAction: () => this.rootPage .locator('div.ant-select-dropdown.nc-dropdown-toolbar-field-list') .locator(`div[label="${title}"]:visible`) - .click(); + .click(), + httpMethodsToMatch: ['GET'], + requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`, + }); } const selectedOpType = await getTextExcludeIconText(await this.rootPage.locator('.nc-filter-operation-select')); if (selectedOpType !== operation) { await this.rootPage.locator('.nc-filter-operation-select').click(); // first() : filter list has >, >= - await this.rootPage + + await this.waitForResponse({ + uiAction: () => this.rootPage .locator('.nc-dropdown-filter-comp-op') .locator(`.ant-select-item:has-text("${operation}")`) .first() - .click(); + .click(), + httpMethodsToMatch: ['GET'], + requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`, + }); } // subtype for date @@ -84,11 +94,16 @@ export class ToolbarFilterPage extends BasePage { if (selectedSubType !== subOperation) { await this.rootPage.locator('.nc-filter-sub_operation-select').click(); // first() : filter list has >, >= - await this.rootPage + + await this.waitForResponse({ + uiAction: () => this.rootPage .locator('.nc-dropdown-filter-comp-sub-op') .locator(`.ant-select-item:has-text("${subOperation}")`) .first() - .click(); + .click(), + httpMethodsToMatch: ['GET'], + requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`, + }); } } @@ -120,7 +135,11 @@ export class ToolbarFilterPage extends BasePage { if (subOperation === 'exact date') { await this.get().locator('.nc-filter-value-select').click(); await this.rootPage.locator(`.ant-picker-dropdown:visible`); - await this.rootPage.locator(`.ant-picker-cell-inner:has-text("${value}")`).click(); + await this.waitForResponse({ + uiAction: () => this.rootPage.locator(`.ant-picker-cell-inner:has-text("${value}")`).click(), + httpMethodsToMatch: ['GET'], + requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`, + }); } else { fillFilter = () => this.rootPage.locator('.nc-filter-value-select > input').last().fill(value); await this.waitForResponse({ @@ -133,7 +152,11 @@ export class ToolbarFilterPage extends BasePage { } break; case UITypes.Duration: - await this.get().locator('.nc-filter-value-select').locator('input').fill(value); + await this.waitForResponse({ + uiAction: () => this.get().locator('.nc-filter-value-select').locator('input').fill(value), + httpMethodsToMatch: ['GET'], + requestUrlPathToMatch: locallySaved ? `/api/v1/db/public/` : `/api/v1/db/data/noco/`, + }); break; case UITypes.Rating: await this.get()