2024-09-11 22:34:33 +02:00
// @watch start
// web_src/js/components/DashboardRepoList.vue
// @watch end
2024-08-14 15:34:36 -06:00
import { expect } from '@playwright/test' ;
2025-01-14 22:13:31 +01:00
import { test } from './utils_e2e.ts' ;
2024-06-26 22:05:18 +02:00
2025-01-05 05:17:04 +00:00
test . use ( { user : 'user2' } ) ;
test . describe . configure ( { retries : 2 } ) ;
2024-06-26 22:05:18 +02:00
2025-01-05 05:17:04 +00:00
test ( 'Correct link and tooltip' , async ( { page } , testInfo ) = > {
if ( testInfo . retry ) {
await page . goto ( '/user2/test_workflows/actions' ) ;
}
const searchResponse = page . waitForResponse ( ( resp ) = > resp . url ( ) . includes ( '/repo/search?' ) && resp . status ( ) === 200 ) ;
2024-06-26 22:05:18 +02:00
const response = await page . goto ( '/?repo-search-query=test_workflows' ) ;
2024-10-23 16:22:25 +02:00
expect ( response ? . status ( ) ) . toBe ( 200 ) ;
2024-06-26 22:05:18 +02:00
2025-01-05 05:17:04 +00:00
await searchResponse ;
2024-06-26 22:05:18 +02:00
const repoStatus = page . locator ( '.dashboard-repos .repo-owner-name-list > li:nth-child(1) > a:nth-child(2)' ) ;
2024-09-11 14:31:46 +02:00
await expect ( repoStatus ) . toHaveAttribute ( 'href' , '/user2/test_workflows/actions' , { timeout : 10000 } ) ;
2024-11-19 10:50:18 +01:00
await expect ( repoStatus ) . toHaveAttribute ( 'data-tooltip-content' , /^(Error|Failure)$/ ) ;
2025-01-14 22:13:31 +01:00
// ToDo: Ensure stable screenshot of dashboard. Known to be flaky: https://code.forgejo.org/forgejo/visual-browser-testing/commit/206d4cfb7a4af6d8d7043026cdd4d63708798b2a
// await save_visual(page);
2024-06-26 22:05:18 +02:00
} ) ;