d7fb7b7a7b
Build & Deploy / Build & Push Docker Image (push) Failing after 47s
Build & Deploy / Deploy to VPS (push) Has been skipped
Test / API Unit Tests (push) Failing after 5m4s
Test / Marketplace Unit Tests (push) Failing after 4m55s
Test / Admin Unit Tests (push) Successful in 9m37s
Test / Dashboard Unit Tests (push) Successful in 9m37s
Test / API Integration Tests (push) Successful in 9m54s
25 lines
984 B
TypeScript
25 lines
984 B
TypeScript
import { expect, test } from '@playwright/test';
|
|
|
|
for (const scenario of [
|
|
{ locale: 'en', theme: 'light' },
|
|
{ locale: 'en', theme: 'dark' },
|
|
{ locale: 'fr', theme: 'light' },
|
|
{ locale: 'ar', theme: 'light' },
|
|
{ locale: 'ar', theme: 'dark' },
|
|
] as const) {
|
|
test(`${scenario.locale} ${scenario.theme} demo initial and validation states`, async ({
|
|
page,
|
|
}) => {
|
|
test.skip(test.info().project.name !== 'chromium', 'Canonical visual baselines use Chromium.');
|
|
await page.emulateMedia({ colorScheme: scenario.theme });
|
|
await page.goto(`/${scenario.locale}`);
|
|
await page.locator('main button[data-demo-source="hero"]').click();
|
|
const dialog = page.getByRole('dialog');
|
|
await expect(dialog).toHaveScreenshot(`demo-${scenario.locale}-${scenario.theme}-initial.png`);
|
|
await dialog.locator('button[type="submit"]').click();
|
|
await expect(dialog).toHaveScreenshot(
|
|
`demo-${scenario.locale}-${scenario.theme}-validation.png`,
|
|
);
|
|
});
|
|
}
|