mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-01 05:36:19 +01:00
fix: WIP toggle by reducing max issue title
- when the PR title has the maximum length, the WIP toggle switch does nothing - work around this by slightly reducing the max input size (- 10 characters for eventually long prefixes) - test WIP toggling edge case in playwright fix(e2e): increase timeouts A look at recent runs suggests they should be increased globally. The timeouts in the config file have no timeout by default.
This commit is contained in:
parent
8d0530650e
commit
7eac5feb74
4 changed files with 20 additions and 3 deletions
|
@ -46,10 +46,10 @@ export default {
|
|||
locale: 'en-US',
|
||||
|
||||
/* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */
|
||||
actionTimeout: 1000,
|
||||
actionTimeout: 2000,
|
||||
|
||||
/* Maximum time allowed for navigation, such as `page.goto()`. */
|
||||
navigationTimeout: 5 * 1000,
|
||||
navigationTimeout: 10 * 1000,
|
||||
|
||||
/* Base URL to use in actions like `await page.goto('/')`. */
|
||||
baseURL: BASE_URL,
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{{if $canEditIssueTitle}}
|
||||
<div class="ui form issue-title tw-hidden" id="issue-title-editor">
|
||||
<div class="ui input tw-flex-1">
|
||||
<input value="{{.Issue.Title}}" data-old-title="{{.Issue.Title}}" maxlength="255" autocomplete="off" class="js-quick-submit">
|
||||
<input value="{{.Issue.Title}}" data-old-title="{{.Issue.Title}}" maxlength="245" autocomplete="off" class="js-quick-submit">
|
||||
</div>
|
||||
<div class="button-row">
|
||||
<button class="ui small basic cancel button">{{ctx.Locale.Tr "repo.issues.cancel"}}</button>
|
||||
|
|
|
@ -51,6 +51,22 @@ test('Pull: Toggle WIP', async ({browser}, workerInfo) => {
|
|||
// remove again
|
||||
await click_toggle_wip({page});
|
||||
await check_wip({page}, false);
|
||||
// check maximum title length is handled gracefully
|
||||
const maxLenStr = prTitle + 'a'.repeat(240);
|
||||
await page.locator('#issue-title-edit-show').click();
|
||||
await page.locator('#issue-title-editor input').fill(maxLenStr);
|
||||
await page.getByText('Save').click();
|
||||
await page.waitForLoadState('networkidle');
|
||||
await click_toggle_wip({page});
|
||||
await check_wip({page}, true);
|
||||
await click_toggle_wip({page});
|
||||
await check_wip({page}, false);
|
||||
await expect(page.locator('h1')).toContainText(maxLenStr);
|
||||
// restore original title
|
||||
await page.locator('#issue-title-edit-show').click();
|
||||
await page.locator('#issue-title-editor input').fill(prTitle);
|
||||
await page.getByText('Save').click();
|
||||
await check_wip({page}, false);
|
||||
});
|
||||
|
||||
test('Issue: Labels', async ({browser}, workerInfo) => {
|
||||
|
|
|
@ -22,6 +22,7 @@ const LOGIN_PASSWORD = 'password';
|
|||
// log in user and store session info. This should generally be
|
||||
// run in test.beforeAll(), then the session can be loaded in tests.
|
||||
export async function login_user(browser, workerInfo, user) {
|
||||
test.setTimeout(60000);
|
||||
// Set up a new context
|
||||
const context = await test_context(browser);
|
||||
const page = await context.newPage();
|
||||
|
|
Loading…
Reference in a new issue