|
|
|
import { test } from '@playwright/test';
|
|
|
|
import { DashboardPage } from '../pages/Dashboard';
|
|
|
|
import { SettingsPage, SettingTab } 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.verifyTable({ title: 'tablex', exists: false });
|
|
|
|
|
|
|
|
await dashboard.gotoSettings();
|
|
|
|
await settings.selectTab({ tab: SettingTab.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 });
|
|
|
|
});
|
|
|
|
});
|