@@ -130,7 +130,7 @@ test('Snapshot deletion', async ({ page }) => {
130
130
await test . step ( `Edit repository and create snapshot ${ i } ` , async ( ) => {
131
131
// Open the edit modal
132
132
await row . getByLabel ( 'Kebab toggle' ) . click ( ) ;
133
- await row . getByRole ( 'menuitem' , { name : 'Edit' } ) . click ( ) ;
133
+ await row . getByRole ( 'menuitem' , { name : 'Edit' } ) . click ( { timeout : 60000 } ) ;
134
134
await page
135
135
. getByLabel ( 'URL' )
136
136
. fill ( `https://fedorapeople.org/groups/katello/fakerepos/zoo${ i } /` ) ;
@@ -143,16 +143,28 @@ test('Snapshot deletion', async ({ page }) => {
143
143
await test . step ( 'Verify the snapshot count for the repo.' , async ( ) => {
144
144
const row = await getRowByNameOrUrl ( page , repoName ) ;
145
145
await expect ( row . getByText ( 'Valid' ) ) . toBeVisible ( { timeout : 60000 } ) ;
146
- const snapshotCount = await row . getByTestId ( 'snapshot_list_table' ) . textContent ( ) ;
146
+ await page . getByRole ( 'button' , { name : 'Kebab toggle' } ) . click ( ) ;
147
+ await page . getByRole ( 'menuitem' , { name : 'View all snapshots' } ) . click ( ) ;
148
+ await page . getByRole ( 'checkbox' , { name : 'Select all rows' } ) . check ( ) ;
149
+ // Count the number of rows in the snapshot list table
150
+ const snapshotCount = ( await page . getByTestId ( 'snapshot_list_table' ) . locator ( 'tr' ) . count ( ) ) - 1 ; // Subtract 1 for the header row
147
151
// Create a template which uses the repo and assert that is uses the latest snapshot
152
+ await page . getByLabel ( 'Close' , { exact : true } ) . click ( ) ;
148
153
await navigateToTemplates ( page ) ;
149
- await page . getByRole ( 'button' , { name : 'Add templates' } ) . first ( ) . click ( ) ;
150
- await expect ( page . getByRole ( 'dialog' , { name : 'Add custom templates' } ) ) . toBeVisible ( ) ;
151
- await page . getByLabel ( 'Name' ) . fill ( templateName ) ;
152
- await page . getByLabel ( 'Repository' ) . click ( ) ;
153
- await page . getByRole ( 'option' , { name : repoName } ) . locator ( 'label' ) . click ( ) ;
154
- await page . getByRole ( 'button' , { name : 'Save' , exact : true } ) . click ( ) ;
155
- await expect ( page . getByText ( 'Valid' ) ) . toBeVisible ( { timeout : 60000 } ) ;
154
+ await page . getByRole ( 'button' , { name : 'Add content template' } ) . click ( ) ;
155
+ await page . getByRole ( 'button' , { name : 'Select architecture' } ) . click ( ) ;
156
+ await page . getByRole ( 'option' , { name : 'aarch64' } ) . click ( ) ;
157
+ await page . getByRole ( 'button' , { name : 'Select version' } ) . click ( ) ;
158
+ await page . getByRole ( 'option' , { name : 'el9' } ) . click ( ) ;
159
+ await page . getByRole ( 'button' , { name : 'Next' , exact : true } ) . click ( ) ;
160
+ await page . getByRole ( 'button' , { name : 'Next' , exact : true } ) . click ( ) ;
161
+ await row . getByRole ( 'gridcell' , { name : 'Select row' } ) . locator ( 'label' ) . click ( ) ;
162
+ await page . getByRole ( 'button' , { name : 'Next' , exact : true } ) . click ( ) ;
163
+
164
+ await page . getByText ( 'Use latest contentAlways use' ) . click ( ) ;
165
+ await page . getByRole ( 'radio' , { name : 'Use latest content' } ) . check ( ) ;
166
+ await page . getByRole ( 'button' , { name : 'Next' } ) . click ( ) ;
167
+
156
168
// Verify the template is created and uses the latest snapshot
157
169
const templateRow = await getRowByNameOrUrl ( page , templateName ) ;
158
170
await expect ( templateRow . getByText ( 'Valid' ) ) . toBeVisible ( { timeout : 60000 } ) ;
@@ -162,6 +174,19 @@ test('Snapshot deletion', async ({ page }) => {
162
174
// Assert that the template snapshot count matches the repo snapshot count
163
175
expect ( templateSnapshotCount ) . toBe ( snapshotCount ) ;
164
176
// Test deletion of a single snapshot.
177
+ // await test.step('Delete a single snapshot', async () => {
178
+ // await templateRow.getByLabel('Kebab toggle').click();
179
+ // await templateRow.getByRole('menuitem', { name: 'Delete' }).click();
180
+ // await expect(page.getByText('Remove repositories?')).toBeVisible();
181
+ // await Promise.all([
182
+ // page.waitForResponse(
183
+ // (resp) =>
184
+ // resp.url().includes('bulk_delete') && resp.status() >= 200 && resp.status() < 300,
185
+ // ),
186
+ // page.getByRole('button', { name: 'Remove' }).click(),
187
+ // ]);
188
+ // await expect(templateRow).not.toBeVisible();
189
+ // });
165
190
// Test bulk deletion of multiple snapshots.
166
191
} ) ;
167
192
await deleteAllRepos ( page , `&search=${ repoNamePrefix } ` ) ;
0 commit comments