zot-wo-auth/tests/tag.spec.js
Raul-Cristian Kele 087b42693f patch: update integration tests
Signed-off-by: raulkele <raulkeleblk@gmail.com>
Signed-off-by: Raul-Cristian Kele <raulkeleblk@gmail.com>
2023-08-15 20:12:30 +03:00

44 lines
2.5 KiB
JavaScript

import { test, expect } from '@playwright/test';
import { getTagWithDependencies, getTagWithDependents, getTagWithVulnerabilities } from './utils/test-data-parser';
import { hosts, pageSizes } from './values/test-constants';
test.describe('Tag page test', () => {
test.beforeEach(async ({ page }) => {
await page.addInitScript(() => {
window.localStorage.setItem('authConfig', '{}');
});
});
test('Tag page with dependents', async ({ page }) => {
const tagWithDependents = getTagWithDependents();
await page.goto(`${hosts.ui}/image/${tagWithDependents.title}/tag/${tagWithDependents.tag}`);
await expect(page.getByRole('tab', { name: 'Layers' })).toBeVisible({ timeout: 100000 });
await page.getByRole('tab', { name: 'Layers' }).click();
await expect(page.getByTestId('layer-card-container').locator('div').nth(1)).toBeVisible({ timeout: 100000 });
await page.getByRole('tab', { name: 'Used by' }).click();
await expect(page.getByTestId('dependents-container').locator('div').nth(1)).toBeVisible({ timeout: 100000 });
await expect(page.getByText('Tag').nth(1)).toBeVisible({ timeout: 100000 });
await expect(await page.getByText('Tag').count()).toBeGreaterThan(0);
});
test('Tag page with dependencies', async ({ page }) => {
const tagWithDependencies = getTagWithDependencies();
await page.goto(`${hosts.ui}/image/${tagWithDependencies.title}/tag/${tagWithDependencies.tag}`);
await expect(page.getByRole('tab', { name: 'Layers' })).toBeVisible({ timeout: 100000 });
await page.getByRole('tab', { name: 'Layers' }).click();
await expect(page.getByTestId('layer-card-container').locator('div').nth(1)).toBeVisible({ timeout: 100000 });
await page.getByRole('tab', { name: 'Uses' }).click();
await expect(page.getByTestId('depends-on-container').locator('div').nth(1)).toBeVisible({ timeout: 100000 });
await expect(page.getByText('Tag')).toHaveCount(1, { timeout: 100000 });
});
test('Tag page with vulnerabilities', async ({ page }) => {
const tagWithVulnerabilities = getTagWithVulnerabilities();
await page.goto(`${hosts.ui}/image/${tagWithVulnerabilities.title}/tag/${tagWithVulnerabilities.tag}`);
await page.getByRole('tab', { name: 'Vulnerabilities' }).click();
await expect(page.getByTestId('vulnerability-container').locator('div').nth(1)).toBeVisible({ timeout: 100000 });
await expect(await page.getByText('CVE-').count()).toBeGreaterThan(0);
await expect(await page.getByText('CVE-').count()).toBeLessThanOrEqual(pageSizes.EXPLORE);
});
});