import { test } from '@playwright/test'; import { DashboardPage } from '../pages/Dashboard'; import setup from '../setup'; test.describe('Views CRUD Operations', () => { let dashboard: DashboardPage; let context: any; test.beforeEach(async ({ page }) => { context = await setup({ page }); dashboard = new DashboardPage(page, context.project); }); test('Create views, reorder and delete', async () => { await dashboard.treeView.openTable({ title: 'City' }); await dashboard.viewSidebar.createGridView({ title: 'CityGrid' }); await dashboard.viewSidebar.verifyView({ title: 'CityGrid', index: 1 }); await dashboard.viewSidebar.renameView({ title: 'CityGrid', newTitle: 'CityGrid2', }); await dashboard.viewSidebar.verifyView({ title: 'CityGrid2', index: 1, }); await dashboard.viewSidebar.createFormView({ title: 'CityForm' }); await dashboard.viewSidebar.verifyView({ title: 'CityForm', index: 2 }); await dashboard.viewSidebar.renameView({ title: 'CityForm', newTitle: 'CityForm2', }); await dashboard.viewSidebar.verifyView({ title: 'CityForm2', index: 2, }); await dashboard.viewSidebar.createGalleryView({ title: 'CityGallery' }); await dashboard.viewSidebar.verifyView({ title: 'CityGallery', index: 3 }); await dashboard.viewSidebar.renameView({ title: 'CityGallery', newTitle: 'CityGallery2', }); await dashboard.viewSidebar.verifyView({ title: 'CityGallery2', index: 3, }); // todo: Enable when view bug is fixed // await dashboard.viewSidebar.reorderViews({ // sourceView: "CityGrid", // destinationView: "CityForm", // }); // await dashboard.viewSidebar.verifyView({ title: "CityGrid", index: 2 }); // await dashboard.viewSidebar.verifyView({ title: "CityForm", index: 1 }); // await dashboard.viewSidebar.deleteView({ title: "CityForm2" }); // await dashboard.viewSidebar.verifyViewNotPresent({ // title: "CityGrid2", // index: 2, // }); await dashboard.viewSidebar.deleteView({ title: 'CityForm2' }); await dashboard.viewSidebar.verifyViewNotPresent({ title: 'CityForm2', index: 2, }); // fix index after enabling reorder test await dashboard.viewSidebar.deleteView({ title: 'CityGallery2' }); await dashboard.viewSidebar.verifyViewNotPresent({ title: 'CityGallery2', index: 1, }); }); });