0
0
mirror of https://github.com/go-gitea/gitea.git synced 2026-05-24 14:46:18 +02:00
gitea/tests/e2e/repo-collab.test.ts
silverwind dbe3328e6a
Extend e2e test to verify selected user lands in collaborator list
After clicking the search result, the test now also clicks Add
Collaborator and asserts the username appears in the page body
(i.e., in the collaborator list after the redirect), proving the
chosen result drives the form submission end-to-end.

Co-Authored-By: Claude (Opus 4.7) <noreply@anthropic.com>
2026-04-27 00:51:58 +02:00

27 lines
1.0 KiB
TypeScript

import {env} from 'node:process';
import {test, expect} from '@playwright/test';
import {apiCreateRepo, apiCreateUser, login, randomString} from './utils.ts';
test('add collaborator search', async ({page, request}) => {
const userName = `repo-collab-${randomString(8)}`;
const repoName = `repo-collab-${randomString(8)}`;
await Promise.all([
apiCreateUser(request, userName),
apiCreateRepo(request, {name: repoName, autoInit: false}),
login(page),
]);
await page.goto(`/${env.GITEA_TEST_E2E_USER}/${repoName}/settings/collaboration`);
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);
await result.click();
await expect(input).toHaveValue(userName);
// submit and confirm the chosen user lands in the collaborator list
await page.getByRole('button', {name: 'Add Collaborator'}).click();
await expect(page.locator('body')).toContainText(userName);
});