@@ -72,6 +72,20 @@ async function removeVolumeViaApi(page: Page, volumeName: string) {
7272 . catch ( ( ) => undefined ) ;
7373}
7474
75+ async function gotoVolumeDetail ( page : Page , volumeName : string ) {
76+ const volumePath = `/api/environments/0/volumes/${ encodeURIComponent ( volumeName ) } ` ;
77+ const detailResponse = page . waitForResponse ( ( response ) => {
78+ const request = response . request ( ) ;
79+ return request . method ( ) === 'GET' && new URL ( response . url ( ) ) . pathname === volumePath ;
80+ } ) ;
81+
82+ await page . goto ( `/volumes/${ encodeURIComponent ( volumeName ) } ` ) ;
83+ const response = await detailResponse ;
84+ expect ( response . ok ( ) , `Expected successful GET ${ volumePath } ` ) . toBeTruthy ( ) ;
85+ await expect ( page ) . toHaveURL ( new RegExp ( `/volumes/.+` ) ) ;
86+ await expect ( page . getByRole ( 'heading' , { level : 1 , name : volumeName } ) ) . toBeVisible ( ) ;
87+ }
88+
7589function facetIds ( title : string ) {
7690 const key = title . toLowerCase ( ) ;
7791 return {
@@ -126,11 +140,7 @@ test.describe('Volumes Page', () => {
126140
127141 try {
128142 await createVolumeViaApi ( page , volumeName ) ;
129- await page . goto ( `/volumes/${ encodeURIComponent ( volumeName ) } ` ) ;
130- await page . waitForLoadState ( 'load' ) ;
131-
132- await expect ( page ) . toHaveURL ( new RegExp ( `/volumes/.+` ) ) ;
133- await expect ( page . getByRole ( 'heading' , { level : 1 , name : volumeName } ) ) . toBeVisible ( ) ;
143+ await gotoVolumeDetail ( page , volumeName ) ;
134144 } finally {
135145 await removeVolumeViaApi ( page , volumeName ) ;
136146 }
@@ -168,8 +178,7 @@ test.describe('Volumes Page', () => {
168178 const volumeName = `e2e-badge-volume-${ Date . now ( ) } ` ;
169179 try {
170180 await createVolumeViaApi ( page , volumeName ) ;
171- await page . goto ( `/volumes/${ encodeURIComponent ( volumeName ) } ` ) ;
172- await page . waitForLoadState ( 'load' ) ;
181+ await gotoVolumeDetail ( page , volumeName ) ;
173182
174183 await expect ( page . getByText ( 'Unused' ) . first ( ) ) . toBeVisible ( ) ;
175184 } finally {
0 commit comments