Browse Source

test(playwright): test for add sort options in column menu

Signed-off-by: Pranav C <pranavxc@gmail.com>
pull/4547/head
Pranav C 2 years ago
parent
commit
b5c06a537a
  1. 30
      tests/playwright/pages/Dashboard/Grid/Column/index.ts
  2. 16
      tests/playwright/tests/columnMenuOperations.spec.ts

30
tests/playwright/pages/Dashboard/Grid/Column/index.ts

@ -295,4 +295,34 @@ export class ColumnPageObject extends BasePage {
await this.grid.get().locator('.nc-ui-dt-dropdown:visible').first().click();
}
}
async sortColumn({ title, direction = 'asc' }: { title: string; direction: 'asc' | 'desc' }) {
await this.grid.get().locator(`th[data-title="${title}"] .nc-ui-dt-dropdown`).click();
let menuOption;
if (direction === 'desc') {
menuOption = this.rootPage.locator('li[role="menuitem"]:has-text("Sort Descending"):visible').click();
} else {
menuOption = this.rootPage.locator('li[role="menuitem"]:has-text("Sort Ascending"):visible').click();
}
await this.waitForResponse({
uiAction: menuOption,
httpMethodsToMatch: ['POST'],
requestUrlPathToMatch: `/sorts`,
});
await this.grid.toolbar.parent.dashboard.waitForLoaderToDisappear();
await this.grid.toolbar.clickSort();
await this.rootPage.locator(`.ant-select-selection-item:has-text("${title}")`).first().isVisible();
await this.rootPage
.locator(
`.nc-sort-dir-select:has-text("${direction === 'asc' ? '1 → 9' : '9 → 1'}"),.nc-sort-dir-select:has-text("${
direction === 'asc' ? 'A → Z' : 'Z → A'
}")`
)
.first()
.isVisible();
}
}

16
tests/playwright/tests/columnMenuOperations.spec.ts

@ -115,4 +115,20 @@ test.describe('Column menu operations', () => {
await dashboard.closeTab({ title: 'Film' });
});
test('Sort column', async () => {
await dashboard.treeView.openTable({ title: 'Film' });
await dashboard.grid.column.sortColumn({
title: 'Title',
direction: 'asc',
});
await dashboard.grid.column.sortColumn({
title: 'ReleaseYear',
direction: 'desc',
});
await dashboard.closeTab({ title: 'Film' });
});
});

Loading…
Cancel
Save