init project
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import { expect, test } from '@playwright/test';
|
||||
|
||||
const scenarios = [
|
||||
{
|
||||
name: 'desktop-en-light',
|
||||
locale: 'en',
|
||||
theme: 'light',
|
||||
viewport: { width: 1440, height: 1000 },
|
||||
},
|
||||
{ name: 'desktop-en-dark', locale: 'en', theme: 'dark', viewport: { width: 1440, height: 1000 } },
|
||||
{ name: 'tablet-fr-light', locale: 'fr', theme: 'light', viewport: { width: 1024, height: 900 } },
|
||||
{ name: 'tablet-fr-dark', locale: 'fr', theme: 'dark', viewport: { width: 1024, height: 900 } },
|
||||
{ name: 'mobile-ar-light', locale: 'ar', theme: 'light', viewport: { width: 390, height: 844 } },
|
||||
{ name: 'mobile-ar-dark', locale: 'ar', theme: 'dark', viewport: { width: 390, height: 844 } },
|
||||
] as const;
|
||||
|
||||
for (const scenario of scenarios) {
|
||||
test(`${scenario.name} visual baseline`, async ({ page, context }) => {
|
||||
test.skip(
|
||||
test.info().project.name !== 'chromium',
|
||||
'Canonical visual baselines use Chromium; other projects run functional coverage.',
|
||||
);
|
||||
await page.setViewportSize(scenario.viewport);
|
||||
await context.addCookies([
|
||||
{
|
||||
name: 'hpc-theme',
|
||||
value: scenario.theme,
|
||||
domain: '127.0.0.1',
|
||||
path: '/',
|
||||
secure: false,
|
||||
sameSite: 'Lax',
|
||||
},
|
||||
]);
|
||||
await page.goto(`/${scenario.locale}`);
|
||||
await expect(page).toHaveScreenshot(`${scenario.name}.png`, { fullPage: true });
|
||||
});
|
||||
}
|
||||
|
||||
test('mobile navigation open baseline', async ({ page }) => {
|
||||
test.skip(test.info().project.name !== 'chromium');
|
||||
await page.setViewportSize({ width: 390, height: 844 });
|
||||
await page.context().addCookies([
|
||||
{
|
||||
name: 'hpc-theme',
|
||||
value: 'dark',
|
||||
domain: '127.0.0.1',
|
||||
path: '/',
|
||||
secure: false,
|
||||
sameSite: 'Lax',
|
||||
},
|
||||
]);
|
||||
await page.goto('/ar');
|
||||
await page.getByRole('button', { name: 'فتح قائمة التنقل' }).click();
|
||||
await expect(page).toHaveScreenshot('mobile-ar-dark-navigation-open.png', { fullPage: true });
|
||||
});
|
||||
|
||||
test('keyboard focus baseline', async ({ page }) => {
|
||||
test.skip(test.info().project.name !== 'chromium');
|
||||
await page.setViewportSize({ width: 1440, height: 900 });
|
||||
await page.goto('/en');
|
||||
await page.keyboard.press('Tab');
|
||||
await expect(page).toHaveScreenshot('desktop-en-light-focus.png', { fullPage: true });
|
||||
});
|
||||
Reference in New Issue
Block a user