diff --git a/src-ui/e2e/admin/settings.spec.ts b/src-ui/e2e/admin/settings.spec.ts index 3d67fd340..01cdd67de 100644 --- a/src-ui/e2e/admin/settings.spec.ts +++ b/src-ui/e2e/admin/settings.spec.ts @@ -2,16 +2,13 @@ import { expect, test } from '@playwright/test' import path from 'node:path' import { mockFilterSelectionData } from '../mock-filter-selection-data' -test.beforeEach(async ({ page }) => { - await mockFilterSelectionData(page) -}) - const REQUESTS_HAR = path.join(__dirname, 'requests/api-settings.har') test('should activate / deactivate save button when settings change', async ({ page, }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/settings') await expect(page.getByRole('button', { name: 'Save' })).toBeDisabled() await page.getByLabel('Use system setting').click() @@ -21,6 +18,7 @@ test('should activate / deactivate save button when settings change', async ({ test('should warn on unsaved changes', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/settings') await page.getByLabel('Use system setting').click() await page.getByRole('link', { name: 'Dashboard' }).click() @@ -33,6 +31,7 @@ test('should warn on unsaved changes', async ({ page }) => { test('should apply appearance changes when set', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/settings') await expect(page.locator('html')).toHaveAttribute('data-bs-theme', /auto/) await page.getByLabel('Use system setting').click() diff --git a/src-ui/e2e/dashboard/dashboard.spec.ts b/src-ui/e2e/dashboard/dashboard.spec.ts index d4c367a12..f99be6923 100644 --- a/src-ui/e2e/dashboard/dashboard.spec.ts +++ b/src-ui/e2e/dashboard/dashboard.spec.ts @@ -2,10 +2,6 @@ import { expect, test } from '@playwright/test' import path from 'node:path' import { mockFilterSelectionData } from '../mock-filter-selection-data' -test.beforeEach(async ({ page }) => { - await mockFilterSelectionData(page) -}) - const REQUESTS_HAR1 = path.join(__dirname, 'requests/api-dashboard1.har') const REQUESTS_HAR2 = path.join(__dirname, 'requests/api-dashboard2.har') const REQUESTS_HAR3 = path.join(__dirname, 'requests/api-dashboard3.har') @@ -13,6 +9,7 @@ const REQUESTS_HAR4 = path.join(__dirname, 'requests/api-dashboard4.har') test('dashboard inbox link', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR1, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await page.getByRole('link', { name: 'Documents in inbox' }).click() await expect(page).toHaveURL(/tags__id__in=9/) @@ -21,6 +18,7 @@ test('dashboard inbox link', async ({ page }) => { test('dashboard total documents link', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR2, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await page.getByRole('link').filter({ hasText: 'Total documents' }).click() await expect(page).toHaveURL(/documents/) @@ -30,6 +28,7 @@ test('dashboard total documents link', async ({ page }) => { test('dashboard saved view show all', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR3, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await page .locator('pngx-widget-frame') @@ -43,6 +42,7 @@ test('dashboard saved view show all', async ({ page }) => { test('dashboard saved view document links', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR4, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await page .locator('pngx-widget-frame') @@ -56,6 +56,7 @@ test('dashboard saved view document links', async ({ page }) => { test('test slim sidebar', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR1, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await page.locator('.sidebar-slim-toggler').click() await expect( diff --git a/src-ui/e2e/document-detail/document-detail.spec.ts b/src-ui/e2e/document-detail/document-detail.spec.ts index ed709e569..5a43bc2bc 100644 --- a/src-ui/e2e/document-detail/document-detail.spec.ts +++ b/src-ui/e2e/document-detail/document-detail.spec.ts @@ -2,10 +2,6 @@ import { expect, test } from '@playwright/test' import path from 'node:path' import { mockFilterSelectionData } from '../mock-filter-selection-data' -test.beforeEach(async ({ page }) => { - await mockFilterSelectionData(page) -}) - const REQUESTS_HAR = path.join(__dirname, 'requests/api-document-detail.har') const REQUESTS_HAR2 = path.join(__dirname, 'requests/api-document-detail2.har') @@ -13,6 +9,7 @@ test('should activate / deactivate save button when changes are saved', async ({ page, }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents/175/') await page.waitForSelector('pngx-document-detail pngx-input-text:first-child') await expect(page.getByTitle('Storage path', { exact: true })).toHaveText( @@ -25,6 +22,7 @@ test('should activate / deactivate save button when changes are saved', async ({ test('should warn on unsaved changes', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents/175/') await expect(page.getByTitle('Correspondent', { exact: true })).toHaveText( /\w+/ @@ -44,6 +42,7 @@ test('should warn on unsaved changes', async ({ page }) => { test('should support tab direct navigation', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents/175/details') await expect(page.getByRole('tab', { name: 'Details' })).toHaveAttribute( 'aria-selected', @@ -73,6 +72,7 @@ test('should support tab direct navigation', async ({ page }) => { test('should show a mobile preview', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents/175/') await page.setViewportSize({ width: 400, height: 1000 }) await expect(page.getByRole('tab', { name: 'Preview' })).toBeVisible() @@ -82,6 +82,7 @@ test('should show a mobile preview', async ({ page }) => { test('should show a list of notes', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents/175/notes') await expect(page.locator('pngx-document-notes')).toBeVisible() await expect( @@ -94,6 +95,7 @@ test('should show a list of notes', async ({ page }) => { test('should support quick filters', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR2, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents/175/details') await page .getByRole('button', { name: 'Filter documents with these Tags' }) diff --git a/src-ui/e2e/document-list/document-list.spec.ts b/src-ui/e2e/document-list/document-list.spec.ts index 7abb06aae..8bc3acd4d 100644 --- a/src-ui/e2e/document-list/document-list.spec.ts +++ b/src-ui/e2e/document-list/document-list.spec.ts @@ -2,10 +2,6 @@ import { expect, test } from '@playwright/test' import path from 'node:path' import { mockFilterSelectionData } from '../mock-filter-selection-data' -test.beforeEach(async ({ page }) => { - await mockFilterSelectionData(page) -}) - const REQUESTS_HAR1 = path.join(__dirname, 'requests/api-document-list1.har') const REQUESTS_HAR2 = path.join(__dirname, 'requests/api-document-list2.har') const REQUESTS_HAR3 = path.join(__dirname, 'requests/api-document-list3.har') @@ -15,6 +11,7 @@ const REQUESTS_HAR6 = path.join(__dirname, 'requests/api-document-list6.har') test('basic filtering', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR1, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents') await page.getByRole('button', { name: 'Tags' }).click() await page.getByRole('menuitem', { name: 'Inbox' }).click() @@ -50,6 +47,7 @@ test('basic filtering', async ({ page }) => { test('text filtering', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR2, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents') await page.getByRole('main').getByRole('combobox').click() await page.getByRole('main').getByRole('combobox').fill('test') @@ -86,6 +84,7 @@ test('text filtering', async ({ page }) => { test('date filtering', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR3, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents') await page.getByRole('button', { name: 'Dates' }).click() await page.locator('.ng-arrow-wrapper').first().click() @@ -108,6 +107,7 @@ test('date filtering', async ({ page }) => { test('sorting', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR4, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents') await page.getByRole('button', { name: 'Sort' }).click() await page.getByRole('button', { name: 'ASN' }).click() @@ -146,6 +146,7 @@ test('sorting', async ({ page }) => { test('change views', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR5, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents') await page.locator('.btn-group > label').first().click() await expect(page.locator('pngx-document-list table')).toBeVisible() @@ -157,6 +158,7 @@ test('change views', async ({ page }) => { test('bulk edit', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR6, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/documents') await page.locator('pngx-document-card-small').nth(0).click() diff --git a/src-ui/e2e/permissions/global-permissions.spec.ts b/src-ui/e2e/permissions/global-permissions.spec.ts index 005ddc7e8..b878e15dd 100644 --- a/src-ui/e2e/permissions/global-permissions.spec.ts +++ b/src-ui/e2e/permissions/global-permissions.spec.ts @@ -2,14 +2,11 @@ import { expect, test } from '@playwright/test' import path from 'node:path' import { mockFilterSelectionData } from '../mock-filter-selection-data' -test.beforeEach(async ({ page }) => { - await mockFilterSelectionData(page) -}) - const REQUESTS_HAR = path.join(__dirname, 'requests/api-global-permissions.har') test('should not allow user to edit settings', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await expect(page.getByRole('link', { name: 'Settings' })).not.toBeAttached() await page.goto('/settings') @@ -20,6 +17,7 @@ test('should not allow user to edit settings', async ({ page }) => { test('should not allow user to view documents', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await expect( page.locator('nav').getByRole('link', { name: 'Documents' }) @@ -36,6 +34,7 @@ test('should not allow user to view documents', async ({ page }) => { test('should not allow user to view correspondents', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await expect( page.getByRole('link', { name: 'Attributes' }) @@ -48,6 +47,7 @@ test('should not allow user to view correspondents', async ({ page }) => { test('should not allow user to view tags', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await expect( page.getByRole('link', { name: 'Attributes' }) @@ -60,6 +60,7 @@ test('should not allow user to view tags', async ({ page }) => { test('should not allow user to view document types', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await expect( page.getByRole('link', { name: 'Attributes' }) @@ -72,6 +73,7 @@ test('should not allow user to view document types', async ({ page }) => { test('should not allow user to view storage paths', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await expect( page.getByRole('link', { name: 'Attributes' }) @@ -84,6 +86,7 @@ test('should not allow user to view storage paths', async ({ page }) => { test('should not allow user to view logs', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await expect(page.getByRole('link', { name: 'Logs' })).not.toBeAttached() await page.goto('/logs') @@ -94,6 +97,7 @@ test('should not allow user to view logs', async ({ page }) => { test('should not allow user to view tasks', async ({ page }) => { await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' }) + await mockFilterSelectionData(page) await page.goto('/dashboard') await expect(page.getByRole('link', { name: 'Tasks' })).not.toBeAttached() await page.goto('/tasks')