Browse Source

fix: Integrated view sidebar removal to tests

pull/6444/head
Muhammed Mustafa 1 year ago
parent
commit
1b278b9535
  1. 1
      packages/nc-gui/components/dashboard/TreeView/TableNode.vue
  2. 25
      tests/playwright/pages/Dashboard/Sidebar/index.ts
  3. 2
      tests/playwright/pages/Dashboard/TreeView.ts

1
packages/nc-gui/components/dashboard/TreeView/TableNode.vue

@ -143,6 +143,7 @@ const isTableOpened = computed(() => {
<template #title>{{ table.table_name }}</template>
<div
class="table-context flex items-center gap-1 h-full"
:data-testid="`nc-tbl-side-node-${table.title}`"
@contextmenu="setMenuContext('table', table)"
@click="openTable(table)"
>

25
tests/playwright/pages/Dashboard/Sidebar/index.ts

@ -64,20 +64,35 @@ export class SidebarPage extends BasePage {
const createViewButtonOfActiveProject = this.dashboard
.get()
.locator('.nc-table-node-wrapper[data-active="true"] .nc-create-view-btn');
await createViewButtonOfActiveProject.waitFor({ state: 'visible' });
await createViewButtonOfActiveProject.scrollIntoViewIfNeeded();
await createViewButtonOfActiveProject.click();
// TODO: Find a better way to do it
let createViewTypeButton: Locator;
if (type === ViewTypes.GRID) {
await this.rootPage.getByTestId('sidebar-view-create-grid').last().click({ force: true });
createViewTypeButton = this.rootPage.getByTestId('sidebar-view-create-grid');
} else if (type === ViewTypes.FORM) {
await this.rootPage.getByTestId('sidebar-view-create-form').last().click({ force: true });
createViewTypeButton = this.rootPage.getByTestId('sidebar-view-create-form');
} else if (type === ViewTypes.KANBAN) {
await this.rootPage.getByTestId('sidebar-view-create-kanban').last().click({ force: true });
createViewTypeButton = this.rootPage.getByTestId('sidebar-view-create-kanban');
} else if (type === ViewTypes.GALLERY) {
await this.rootPage.getByTestId('sidebar-view-create-gallery').last().click({ force: true });
createViewTypeButton = this.rootPage.getByTestId('sidebar-view-create-gallery');
}
await this.rootPage.waitForTimeout(750);
const allButtons = await createViewTypeButton.all();
for (const btn of allButtons) {
if (await btn.isVisible()) {
createViewTypeButton = btn;
break;
}
}
await createViewTypeButton.click({
force: true,
});
await this.rootPage.locator('input[id="form_item_title"]:visible').waitFor({ state: 'visible' });
await this.rootPage.locator('input[id="form_item_title"]:visible').fill(title);
const submitAction = () =>

2
tests/playwright/pages/Dashboard/TreeView.ts

@ -72,7 +72,7 @@ export class TreeViewPage extends BasePage {
async getTable({ index, tableTitle }: { index: number; tableTitle?: string }) {
if (tableTitle) {
return this.get().getByTestId(`nc-tbl-title-${tableTitle}`);
return this.get().getByTestId(`nc-tbl-side-node-${tableTitle}`);
}
return this.get().locator('.nc-tree-item').nth(index);

Loading…
Cancel
Save