Skip to content

Commit 46e6a63

Browse files
committed
Added template creation steps to test case
To ensure it uses recently created repository with latest snapshot of the same repository
1 parent b61c3eb commit 46e6a63

File tree

1 file changed

+34
-9
lines changed

1 file changed

+34
-9
lines changed

_playwright-tests/UI/SnapshotRepo.spec.ts

+34-9
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ test('Snapshot deletion', async ({ page }) => {
130130
await test.step(`Edit repository and create snapshot ${i}`, async () => {
131131
// Open the edit modal
132132
await row.getByLabel('Kebab toggle').click();
133-
await row.getByRole('menuitem', { name: 'Edit' }).click();
133+
await row.getByRole('menuitem', { name: 'Edit' }).click({ timeout: 60000 });
134134
await page
135135
.getByLabel('URL')
136136
.fill(`https://fedorapeople.org/groups/katello/fakerepos/zoo${i}/`);
@@ -143,16 +143,28 @@ test('Snapshot deletion', async ({ page }) => {
143143
await test.step('Verify the snapshot count for the repo.', async () => {
144144
const row = await getRowByNameOrUrl(page, repoName);
145145
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
147151
// Create a template which uses the repo and assert that is uses the latest snapshot
152+
await page.getByLabel('Close', { exact: true }).click();
148153
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+
156168
// Verify the template is created and uses the latest snapshot
157169
const templateRow = await getRowByNameOrUrl(page, templateName);
158170
await expect(templateRow.getByText('Valid')).toBeVisible({ timeout: 60000 });
@@ -162,6 +174,19 @@ test('Snapshot deletion', async ({ page }) => {
162174
// Assert that the template snapshot count matches the repo snapshot count
163175
expect(templateSnapshotCount).toBe(snapshotCount);
164176
// 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+
// });
165190
// Test bulk deletion of multiple snapshots.
166191
});
167192
await deleteAllRepos(page, `&search=${repoNamePrefix}`);

0 commit comments

Comments
 (0)