mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.0 KiB
55 lines
2.0 KiB
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, update icon 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 }); |
|
|
|
// verify table icon customization |
|
await dashboard.treeView.openTable({ title: 'Address' }); |
|
await dashboard.treeView.changeTableIcon({ title: 'Address', icon: 'american-football' }); |
|
await dashboard.treeView.verifyTabIcon({ title: 'Address', icon: 'american-football' }); |
|
}); |
|
});
|
|
|