0
0
mirror of https://github.com/go-gitea/gitea.git synced 2026-06-27 14:56:19 +02:00

test: fix flaky issue-comment close test (#37880)

After posting a comment the page reloads via fetch-action. Clicking
"Close Issue" before the form re-initializes triggers a native form
submit, which navigates to the raw JSON redirect response
(`{"redirect":...}`) instead of the issue, so "Reopen Issue" never
appears and the test times out (observed on Firefox in CI).

Wait for the comment button to become disabled — which only happens once
the form re-initializes — before clicking "Close Issue".

---
This PR was written with the help of Claude Opus 4.7

Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
Co-authored-by: Nicolas <bircni@icloud.com>
This commit is contained in:
silverwind 2026-05-28 07:09:21 +02:00 committed by GitHub
parent b4407e36aa
commit 3c73da51b9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -18,7 +18,9 @@ test('comment on and close an issue', async ({page, request}) => {
await page.getByRole('button', {name: 'Comment', exact: true}).click();
await expect(page.locator('.comment-body').filter({hasText: body})).toBeVisible();
// posting reloaded the page with an empty box, so the status button now reads "Close Issue"
// wait for the form to re-initialize (the empty box disables the comment button); a close click
// before that does a native submit which lands on a raw JSON page instead of reloading the issue
await expect(page.getByRole('button', {name: 'Comment', exact: true})).toBeDisabled();
await page.getByRole('button', {name: 'Close Issue'}).click();
await expect(page.getByRole('button', {name: 'Reopen Issue'})).toBeVisible();
});