|
|
|
import { test } from '@playwright/test';
|
|
|
|
import { DashboardPage } from '../pages/Dashboard';
|
|
|
|
import { SettingsPage } from '../pages/Dashboard/Settings';
|
|
|
|
import setup from '../setup';
|
|
|
|
|
|
|
|
|
|
|
|
test.describe('Table Operations', () => {
|
|
|
|
let dashboard: DashboardPage, settings: SettingsPage;
|
|
|
|
let context: any;
|
|
|
|
|
|
|
|
test.beforeEach(async ({page}) => {
|
|
|
|
context = await setup({ page });
|
|
|
|
dashboard = new DashboardPage(page, context.project);
|
|
|
|
settings = dashboard.settings;
|
|
|
|
})
|
|
|
|
|
|
|
|
test('Create, and delete table, verify in audit tab, rename City table and reorder tables', async () => {
|
|
|
|
await dashboard.treeView.createTable({title: "tablex"});
|
|
|
|
await dashboard.treeView.verifyTable({title: "tablex"});
|
|
|
|
|
|
|
|
await dashboard.treeView.deleteTable({title: "tablex"});
|
|
|
|
await dashboard.treeView.verifyTableDoesNotExist({title: "tablex"});
|
|
|
|
|
|
|
|
await dashboard.gotoSettings();
|
|
|
|
await settings.selectTab({title: 'Audit'});
|
|
|
|
await settings.audit.verifyRow({index: 0, opType: 'TABLE', opSubtype: 'DELETED', user: 'user@nocodb.com'});
|
|
|
|
await settings.audit.verifyRow({index: 1, opType: 'TABLE', opSubtype: 'CREATED', user: 'user@nocodb.com'});
|
|
|
|
await settings.close();
|
|
|
|
|
|
|
|
await dashboard.treeView.renameTable({title: "City", newTitle: "Cityx"});
|
|
|
|
await dashboard.treeView.verifyTable({title: "Cityx"});
|
|
|
|
|
|
|
|
await dashboard.treeView.focusTable({title: "Actor"});
|
|
|
|
await dashboard.treeView.verifyTable({title: "Actor", index: 0});
|
|
|
|
await dashboard.treeView.reorderTables({
|
|
|
|
sourceTable: "Actor",
|
|
|
|
destinationTable: "Address"
|
|
|
|
});
|
|
|
|
await dashboard.treeView.verifyTable({title: "Address", index: 0});
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|