mirror of
https://github.com/SecurityBrewery/catalyst.git
synced 2025-12-07 15:52:47 +01:00
55 lines
1.7 KiB
TypeScript
55 lines
1.7 KiB
TypeScript
import { login, test } from './util'
|
|
import { expect } from '@playwright/test'
|
|
|
|
const goToSettings = async (page) => {
|
|
await page.goto('settings')
|
|
await expect(page.getByRole('heading', { name: 'Settings' })).toBeVisible()
|
|
}
|
|
|
|
test('settings page shows existing settings', async ({ page }) => {
|
|
await login(page)
|
|
await goToSettings(page)
|
|
await expect(page.locator('#meta\\.appName')).toHaveValue('Catalyst')
|
|
})
|
|
|
|
const updates = [
|
|
{ field: 'app name', selector: '#meta\\.appName', value: () => `Catalyst-${Date.now()}` },
|
|
// {
|
|
// field: 'app url',
|
|
// selector: '#meta\\.appUrl',
|
|
// value: () => `https://catalyst-${Date.now()}.example.com`
|
|
// },
|
|
{ field: 'sender name', selector: '#meta\\.senderName', value: () => `Catalyst-${Date.now()}` },
|
|
{
|
|
field: 'sender address',
|
|
selector: '#meta\\.senderAddress',
|
|
value: () => `catalyst-${Date.now()}@example.com`
|
|
}
|
|
]
|
|
|
|
test.describe('update settings', () => {
|
|
for (const { field, selector, value } of updates) {
|
|
test(`can update ${field}`, async ({ page }) => {
|
|
await login(page)
|
|
await goToSettings(page)
|
|
const v = value()
|
|
await page.locator(selector).fill(v)
|
|
const saveBtn = page.getByRole('button', { name: 'Save' }).last()
|
|
await expect(saveBtn).toBeEnabled()
|
|
await saveBtn.click()
|
|
await expect(page.locator(selector)).toHaveValue(v)
|
|
})
|
|
}
|
|
|
|
test('can enable smtp', async ({ page }) => {
|
|
await login(page)
|
|
await goToSettings(page)
|
|
const smtpSwitch = page.getByRole('switch').first()
|
|
await smtpSwitch.click()
|
|
const saveBtn = page.getByRole('button', { name: 'Save' }).last()
|
|
await expect(saveBtn).toBeEnabled()
|
|
await saveBtn.click()
|
|
await expect(smtpSwitch).toHaveAttribute('data-state', 'checked')
|
|
})
|
|
})
|