2025-05-31 01:16:48 +08:00
|
|
|
import { expect, test } from '@playwright/test';
|
|
|
|
|
2025-07-24 05:45:40 +08:00
|
|
|
test.describe.serial('Dataset tests', () => {
|
|
|
|
let datasetURL = '';
|
|
|
|
test('Can navigate to a dataset chart from the dataset list', async ({ page }) => {
|
|
|
|
await page.goto('http://localhost:3000/app/home');
|
|
|
|
await page.getByRole('link', { name: 'Datasets' }).click();
|
|
|
|
//wait for url to change
|
|
|
|
await page.waitForURL((url) => url.toString().includes('datasets'));
|
|
|
|
|
|
|
|
await expect(
|
|
|
|
page
|
|
|
|
.locator('div')
|
|
|
|
.filter({ hasText: /^Title$/ })
|
|
|
|
.first()
|
|
|
|
).toBeVisible({ timeout: 3000 });
|
|
|
|
|
|
|
|
// .list-container
|
|
|
|
await page.locator('.list-container').getByRole('link').first().click();
|
|
|
|
|
|
|
|
//overview
|
|
|
|
await page.waitForURL((url) => url.toString().includes('overview'));
|
|
|
|
expect(page.url()).toContain('overview');
|
|
|
|
|
|
|
|
//set the current dataset url
|
|
|
|
datasetURL = page.url();
|
2025-05-03 01:27:46 +08:00
|
|
|
});
|
2025-07-24 05:45:40 +08:00
|
|
|
|
|
|
|
test('Can navigate to different dataset pages', async ({ page }) => {
|
|
|
|
await page.goto(datasetURL);
|
|
|
|
|
|
|
|
await page.getByRole('tab', { name: 'Permissions' }).click();
|
|
|
|
await page.waitForURL((url) => url.toString().includes('permissions'));
|
|
|
|
expect(page.url()).toContain('permissions');
|
|
|
|
|
|
|
|
await page.getByRole('tab', { name: 'Editor' }).click();
|
|
|
|
await page.waitForURL((url) => url.toString().includes('editor'));
|
|
|
|
expect(page.url()).toContain('editor');
|
|
|
|
|
|
|
|
await page.getByRole('tab', { name: 'Overview' }).click();
|
|
|
|
await page.waitForURL((url) => url.toString().includes('overview'));
|
|
|
|
expect(page.url()).toContain('overview');
|
|
|
|
});
|
|
|
|
});
|