From 11ff38dd40177ecc151a2984fa7e124cf61ed657 Mon Sep 17 00:00:00 2001 From: Beowulf Date: Sun, 7 Jul 2024 19:59:32 +0200 Subject: [PATCH] fix branch selector in commit graph Regression from https://codeberg.org/forgejo/forgejo/commit/5ef80ceb6437fa979d4ac567fa4b8c65c7e063d6 --- .../commit-graph-branch-selector.test.e2e.js | 25 +++++++++++++++++++ web_src/js/features/repo-graph.js | 6 ++--- 2 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 tests/e2e/commit-graph-branch-selector.test.e2e.js diff --git a/tests/e2e/commit-graph-branch-selector.test.e2e.js b/tests/e2e/commit-graph-branch-selector.test.e2e.js new file mode 100644 index 0000000000..b19277c114 --- /dev/null +++ b/tests/e2e/commit-graph-branch-selector.test.e2e.js @@ -0,0 +1,25 @@ +// @ts-check +import {test, expect} from '@playwright/test'; +import {login_user, load_logged_in_context} from './utils_e2e.js'; + +test.beforeAll(async ({browser}, workerInfo) => { + await login_user(browser, workerInfo, 'user2'); +}); + +test('Switch branch', async ({browser}, workerInfo) => { + const context = await load_logged_in_context(browser, workerInfo, 'user2'); + const page = await context.newPage(); + const response = await page.goto('/user2/repo1/graph'); + await expect(response?.status()).toBe(200); + + await page.click('#flow-select-refs-dropdown'); + const input = page.locator('#flow-select-refs-dropdown'); + await input.pressSequentially('develop', {delay: 50}); + await input.press('Enter'); + + await page.waitForLoadState('networkidle'); + + await expect(page.locator('#loading-indicator')).not.toBeVisible(); + await expect(page.locator('#rel-container')).toBeVisible(); + await expect(page.locator('#rev-container')).toBeVisible(); +}); diff --git a/web_src/js/features/repo-graph.js b/web_src/js/features/repo-graph.js index 0086b92021..689b6f1369 100644 --- a/web_src/js/features/repo-graph.js +++ b/web_src/js/features/repo-graph.js @@ -69,9 +69,9 @@ export function initRepoGraphGit() { const html = await response.text(); const div = document.createElement('div'); div.innerHTML = html; - document.getElementById('pagination').innerHTML = div.getElementById('pagination').innerHTML; - document.getElementById('rel-container').innerHTML = div.getElementById('rel-container').innerHTML; - document.getElementById('rev-container').innerHTML = div.getElementById('rev-container').innerHTML; + document.getElementById('pagination').innerHTML = div.querySelector('#pagination').innerHTML; + document.getElementById('rel-container').innerHTML = div.querySelector('#rel-container').innerHTML; + document.getElementById('rev-container').innerHTML = div.querySelector('#rev-container').innerHTML; hideElem('#loading-indicator'); showElem('#rel-container'); showElem('#rev-container');