From d95ce0b6fbf9b455a12c5a5190bf108533a06ffa Mon Sep 17 00:00:00 2001 From: Beowulf Date: Wed, 26 Jun 2024 22:05:18 +0200 Subject: [PATCH] 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 6b82e3fd67..0ba6caafe9 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 4e79b2f28d..d9c9e35036 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 - +