test(e2e): image upload + detail page
This commit is contained in:
parent
b36ed6e221
commit
45221ced32
66
tests/e2e/keyvisual-background.spec.ts
Normal file
66
tests/e2e/keyvisual-background.spec.ts
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
import { test, expect } from '@playwright/test'
|
||||||
|
|
||||||
|
test.use({ storageState: '.auth/user.json' })
|
||||||
|
|
||||||
|
test.describe('Keyvisual & Background Panels', () => {
|
||||||
|
test('Settings page has Namenseinblender submenu and field', async ({ page }) => {
|
||||||
|
await page.goto('/settings')
|
||||||
|
await expect(page.getByText('Namenseinblender')).toBeVisible()
|
||||||
|
await page.getByText('Namenseinblender').click()
|
||||||
|
await expect(page.getByTestId('namenseinblender-macro')).toBeVisible()
|
||||||
|
})
|
||||||
|
|
||||||
|
test('service edit page shows keyvisual and background panels', async ({ page }) => {
|
||||||
|
await page.goto('/services')
|
||||||
|
|
||||||
|
// Find an edit link
|
||||||
|
const editLink = page.getByRole('link', { name: /Bearbeiten/i }).first()
|
||||||
|
const count = await page.getByRole('link', { name: /Bearbeiten/i }).count()
|
||||||
|
if (count === 0) {
|
||||||
|
// No services in DB — skip gracefully
|
||||||
|
test.skip(true, 'No services available in test DB')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
await editLink.click()
|
||||||
|
await page.waitForURL(/\/services\/\d+\/edit/)
|
||||||
|
|
||||||
|
// Both panels must be visible
|
||||||
|
await expect(page.getByTestId('keyvisual-panel')).toBeVisible()
|
||||||
|
await expect(page.getByTestId('background-panel')).toBeVisible()
|
||||||
|
})
|
||||||
|
|
||||||
|
test('panels show upload inputs', async ({ page }) => {
|
||||||
|
await page.goto('/services')
|
||||||
|
const count = await page.getByRole('link', { name: /Bearbeiten/i }).count()
|
||||||
|
if (count === 0) {
|
||||||
|
test.skip(true, 'No services available in test DB')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
await page.getByRole('link', { name: /Bearbeiten/i }).first().click()
|
||||||
|
await page.waitForURL(/\/services\/\d+\/edit/)
|
||||||
|
|
||||||
|
// Upload inputs must exist (hidden but present in DOM)
|
||||||
|
const kvInput = page.getByTestId('keyvisual-panel-upload-input')
|
||||||
|
const bgInput = page.getByTestId('background-panel-upload-input')
|
||||||
|
await expect(kvInput).toBeAttached()
|
||||||
|
await expect(bgInput).toBeAttached()
|
||||||
|
})
|
||||||
|
|
||||||
|
test('panels show German labels', async ({ page }) => {
|
||||||
|
await page.goto('/services')
|
||||||
|
const count = await page.getByRole('link', { name: /Bearbeiten/i }).count()
|
||||||
|
if (count === 0) {
|
||||||
|
test.skip(true, 'No services available in test DB')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
await page.getByRole('link', { name: /Bearbeiten/i }).first().click()
|
||||||
|
await page.waitForURL(/\/services\/\d+\/edit/)
|
||||||
|
|
||||||
|
// German labels in panels
|
||||||
|
await expect(page.getByTestId('keyvisual-panel').getByText('Keyvisual')).toBeVisible()
|
||||||
|
await expect(page.getByTestId('background-panel').getByText('Hintergrundbild')).toBeVisible()
|
||||||
|
})
|
||||||
|
})
|
||||||
Loading…
Reference in a new issue