mirror of
https://github.com/go-gitea/gitea.git
synced 2026-06-19 07:36:24 +00:00
de83393487
Removes the legacy `delete-button` handler (`initGlobalDeleteButton`) and migrates all remaining usages to `link-action` and `show-modal` / `form-fetch-action`. Two handlers are adjusted for the new request shape: webauthn key delete reads `id` from the query, and account deletion returns `JSONError` on validation failure. A E2E test ist added to cover one of the use cases. Suggested in https://github.com/go-gitea/gitea/pull/38046#discussion_r3414936737. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: bircni <bircni@icloud.com>
53 lines
2.0 KiB
TypeScript
53 lines
2.0 KiB
TypeScript
import {test, expect} from '@playwright/test';
|
|
import {login, apiCreateOrg, apiCreateTeam, apiCreateUser, apiDeleteOrg, randomString} from './utils.ts';
|
|
|
|
test('create an organization', async ({page}) => {
|
|
const orgName = `e2e-org-${randomString(8)}`;
|
|
await login(page);
|
|
await page.goto('/org/create');
|
|
await page.getByLabel('Organization Name').fill(orgName);
|
|
await page.getByRole('button', {name: 'Create Organization'}).click();
|
|
await expect(page).toHaveURL(new RegExp(`/org/${orgName}`));
|
|
// delete via API because of issues related to form-fetch-action
|
|
await apiDeleteOrg(page.request, orgName);
|
|
});
|
|
|
|
test('add team member search', async ({page, request}) => {
|
|
const orgName = `team-add-${randomString(8)}`;
|
|
const teamName = `team-add-${randomString(8)}`;
|
|
const userName = `team-add-${randomString(8)}`;
|
|
|
|
await Promise.all([
|
|
(async () => {
|
|
await apiCreateOrg(request, orgName);
|
|
await apiCreateTeam(request, orgName, teamName);
|
|
})(),
|
|
apiCreateUser(request, userName),
|
|
login(page),
|
|
]);
|
|
|
|
await page.goto(`/org/${orgName}/teams/${teamName}`);
|
|
const input = page.locator('#search-user-box input.prompt');
|
|
await input.fill(userName.slice(-6));
|
|
const result = page.locator('#search-user-box .results .result').first();
|
|
await expect(result).toContainText(userName);
|
|
});
|
|
|
|
test('delete team via confirm modal', async ({page, request}) => {
|
|
const orgName = `e2e-del-team-${randomString(8)}`;
|
|
const teamName = `team-${randomString(8)}`;
|
|
await Promise.all([
|
|
(async () => {
|
|
await apiCreateOrg(request, orgName);
|
|
await apiCreateTeam(request, orgName, teamName);
|
|
})(),
|
|
login(page),
|
|
]);
|
|
|
|
await page.goto(`/org/${orgName}/teams/${teamName}/edit`);
|
|
await page.getByRole('button', {name: 'Delete Team'}).click();
|
|
await page.getByRole('button', {name: 'Yes'}).click();
|
|
await expect(page).toHaveURL(new RegExp(`/org/${orgName}/teams$`));
|
|
await expect(page.getByText('The team has been deleted.')).toBeVisible();
|
|
});
|