mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-09-01 07:27:15 +00:00
48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import { expect, test } from '@playwright/test'
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
await page.route('**/api/status/', (route) =>
|
|
route.fulfill({
|
|
json: {
|
|
database: { status: 'OK' },
|
|
tasks: {
|
|
redis_status: 'DISABLED',
|
|
celery_status: 'DISABLED',
|
|
index_status: 'OK',
|
|
classifier_status: 'OK',
|
|
sanity_check_status: 'OK',
|
|
},
|
|
},
|
|
})
|
|
)
|
|
})
|
|
|
|
test('should activate / deactivate save button when settings change', async ({
|
|
page,
|
|
}) => {
|
|
await page.goto('/settings')
|
|
await expect(page.getByRole('button', { name: 'Save' })).toBeDisabled()
|
|
await page.getByLabel('Use system setting').click()
|
|
await page.getByRole('button', { name: 'Save' }).scrollIntoViewIfNeeded()
|
|
await expect(page.getByRole('button', { name: 'Save' })).toBeEnabled()
|
|
})
|
|
|
|
test('should warn on unsaved changes', async ({ page }) => {
|
|
await page.goto('/settings')
|
|
await page.getByLabel('Use system setting').click()
|
|
await page.getByRole('link', { name: 'Dashboard' }).click()
|
|
await expect(page.getByRole('dialog')).toHaveText(/unsaved changes/)
|
|
await page.getByRole('button', { name: 'Cancel' }).click()
|
|
await page.getByLabel('Use system setting').click()
|
|
await page.getByRole('link', { name: 'Dashboard' }).click()
|
|
await expect(page.getByRole('dialog')).toHaveCount(0)
|
|
})
|
|
|
|
test('should apply appearance changes when set', async ({ page }) => {
|
|
await page.goto('/settings')
|
|
await expect(page.locator('html')).toHaveAttribute('data-bs-theme', /auto/)
|
|
await page.getByLabel('Use system setting').click()
|
|
await page.getByLabel('Enable dark mode').click()
|
|
await expect(page.locator('html')).toHaveAttribute('data-bs-theme', /dark/)
|
|
})
|