Files
Gitea/tests/e2e/user-settings.test.ts
T
Timur Moziev f65e01226a enhance(webhook): add select all and deselect all buttons for custom events (#35980)
Adds `Select All` and `Deselect All` buttons to the custom events
section of the webhook form. This is useful when you need all events but
one.

- The buttons toggle every event checkbox and keep the unsaved-changes
prompt working
- Fix the "Trigger On" radio spacing by removing a leftover Fomantic
checkbox margin

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2026-10-03 14:27:17 +00:00

27 lines
1.3 KiB
TypeScript

import {test, expect} from '@playwright/test';
import {login, loginUser, apiCreateUser, randomString} from './utils.ts';
test('update profile biography', async ({page, request}) => {
const username = `e2e-settings-${randomString(8)}`;
const bio = `e2e-bio-${randomString(8)}`;
await apiCreateUser(request, username);
await loginUser(page, username);
await page.goto('/user/settings');
await page.getByLabel('Biography').fill(bio);
await page.getByRole('button', {name: 'Update Profile'}).click();
await expect(page.getByLabel('Biography')).toHaveValue(bio);
await page.getByLabel('Biography').fill('');
await page.getByRole('button', {name: 'Update Profile'}).click();
await expect(page.getByLabel('Biography')).toHaveValue('');
});
test('select and deselect all webhook events', async ({page}) => {
await login(page);
await page.goto('/user/settings/hooks/gitea/new');
await page.getByRole('radio', {name: 'Custom Events'}).check();
await page.getByRole('button', {name: 'Select All', exact: true}).click();
await expect(page.getByRole('checkbox', {checked: false})).toHaveCount(0);
await page.getByRole('button', {name: 'Deselect All', exact: true}).click();
await expect(page.getByRole('checkbox', {checked: true})).toHaveAccessibleName('Active');
});