From 442002c3e49fbb590e492f9a47da5257a7408a32 Mon Sep 17 00:00:00 2001 From: Beowulf Date: Wed, 26 Jun 2024 22:05:18 +0200 Subject: [PATCH 1/2] Fixed link to commit status and tooltip on dashboard Regression introduced by https://codeberg.org/forgejo/forgejo/commit/5a18b7463255e5d1aefdacaeae9b7d0459b34286 (cherry picked from commit 1088c057e042d2c007b18dcb8d53e454f462b335) --- models/fixtures/commit_status.yml | 11 +++++++++++ tests/e2e/dashboard-ci-status.test.e2e.js | 21 +++++++++++++++++++++ web_src/js/components/DashboardRepoList.vue | 2 +- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 tests/e2e/dashboard-ci-status.test.e2e.js diff --git a/models/fixtures/commit_status.yml b/models/fixtures/commit_status.yml index 20d57975ef..b318ad6f12 100644 --- a/models/fixtures/commit_status.yml +++ b/models/fixtures/commit_status.yml @@ -52,3 +52,14 @@ description: My awesome deploy service context: deploy/awesomeness creator_id: 2 + +- + id: 6 + index: 6 + repo_id: 62 + state: "failure" + sha: "774f93df12d14931ea93259ae93418da4482fcc1" + target_url: "/user2/test_workflows/actions" + description: My awesome deploy service + context: deploy/awesomeness + creator_id: 2 diff --git a/tests/e2e/dashboard-ci-status.test.e2e.js b/tests/e2e/dashboard-ci-status.test.e2e.js new file mode 100644 index 0000000000..fdf868f083 --- /dev/null +++ b/tests/e2e/dashboard-ci-status.test.e2e.js @@ -0,0 +1,21 @@ +// @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('Correct link and tooltip', async ({browser}, workerInfo) => { + const context = await load_logged_in_context(browser, workerInfo, 'user2'); + const page = await context.newPage(); + const response = await page.goto('/?repo-search-query=test_workflows'); + await expect(response?.status()).toBe(200); + + await page.waitForLoadState('networkidle'); + + const repoStatus = page.locator('.dashboard-repos .repo-owner-name-list > li:nth-child(1) > a:nth-child(2)'); + + await expect(repoStatus).toHaveAttribute('href', '/user2/test_workflows/actions'); + await expect(repoStatus).toHaveAttribute('data-tooltip-content', 'Failure'); +}); diff --git a/web_src/js/components/DashboardRepoList.vue b/web_src/js/components/DashboardRepoList.vue index db8e5f7e1f..361482ed3a 100644 --- a/web_src/js/components/DashboardRepoList.vue +++ b/web_src/js/components/DashboardRepoList.vue @@ -415,7 +415,7 @@ export default sfc; // activate the IDE's Vue plugin - + From 3018b8a07ee363ee2f599d23c8d84e0348b93d2d Mon Sep 17 00:00:00 2001 From: Beowulf Date: Mon, 15 Jul 2024 14:52:50 +0200 Subject: [PATCH 2/2] Remove e2e test in backport --- models/fixtures/commit_status.yml | 11 ----------- tests/e2e/dashboard-ci-status.test.e2e.js | 21 --------------------- 2 files changed, 32 deletions(-) delete mode 100644 tests/e2e/dashboard-ci-status.test.e2e.js diff --git a/models/fixtures/commit_status.yml b/models/fixtures/commit_status.yml index b318ad6f12..20d57975ef 100644 --- a/models/fixtures/commit_status.yml +++ b/models/fixtures/commit_status.yml @@ -52,14 +52,3 @@ description: My awesome deploy service context: deploy/awesomeness creator_id: 2 - -- - id: 6 - index: 6 - repo_id: 62 - state: "failure" - sha: "774f93df12d14931ea93259ae93418da4482fcc1" - target_url: "/user2/test_workflows/actions" - description: My awesome deploy service - context: deploy/awesomeness - creator_id: 2 diff --git a/tests/e2e/dashboard-ci-status.test.e2e.js b/tests/e2e/dashboard-ci-status.test.e2e.js deleted file mode 100644 index fdf868f083..0000000000 --- a/tests/e2e/dashboard-ci-status.test.e2e.js +++ /dev/null @@ -1,21 +0,0 @@ -// @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('Correct link and tooltip', async ({browser}, workerInfo) => { - const context = await load_logged_in_context(browser, workerInfo, 'user2'); - const page = await context.newPage(); - const response = await page.goto('/?repo-search-query=test_workflows'); - await expect(response?.status()).toBe(200); - - await page.waitForLoadState('networkidle'); - - const repoStatus = page.locator('.dashboard-repos .repo-owner-name-list > li:nth-child(1) > a:nth-child(2)'); - - await expect(repoStatus).toHaveAttribute('href', '/user2/test_workflows/actions'); - await expect(repoStatus).toHaveAttribute('data-tooltip-content', 'Failure'); -});