Reviewed-on: #7 Co-authored-by: mifi <badmf@mifi.dev> Co-committed-by: mifi <badmf@mifi.dev>
71 lines
3.7 KiB
TypeScript
71 lines
3.7 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
|
|
test.describe('visual regression', () => {
|
|
test('home page matches snapshot', async ({ page }) => {
|
|
await page.goto('/');
|
|
await expect(page).toHaveTitle(/mifi Ventures/);
|
|
await expect(page.locator('h1')).toBeVisible();
|
|
await expect(page.locator('#main')).toBeVisible();
|
|
await expect(page.locator('.footer')).toBeVisible();
|
|
await expect(page).toHaveScreenshot('home.png', { fullPage: true });
|
|
});
|
|
|
|
test('services page matches snapshot', async ({ page }) => {
|
|
await page.goto('/services');
|
|
await expect(page).toHaveTitle(/SaaS Architecture Services | mifi Ventures/);
|
|
await expect(page.locator('h1')).toBeVisible();
|
|
await expect(page.locator('#main')).toBeVisible();
|
|
await expect(page).toHaveScreenshot('services.png', { fullPage: true });
|
|
});
|
|
|
|
test('services/hands-on-saas-architecture-consultant page matches snapshot', async ({ page }) => {
|
|
await page.goto('/services/hands-on-saas-architecture-consultant');
|
|
await expect(page).toHaveTitle(/SaaS Product Architecture Consultant | mifi Ventures/);
|
|
await expect(page.locator('h1')).toBeVisible();
|
|
await expect(page.locator('#main')).toBeVisible();
|
|
await expect(page).toHaveScreenshot('services-hands-on-saas-architecture-consultant.png', { fullPage: true });
|
|
});
|
|
|
|
test('services/mvp-architecture-and-launch page matches snapshot', async ({ page }) => {
|
|
await page.goto('/services/mvp-architecture-and-launch');
|
|
await expect(page).toHaveTitle(/MVP Architecture & Launch Consultant | mifi Ventures/);
|
|
await expect(page.locator('h1')).toBeVisible();
|
|
await expect(page.locator('#main')).toBeVisible();
|
|
await expect(page).toHaveScreenshot('services-mvp-architecture-and-launch.png', { fullPage: true });
|
|
});
|
|
|
|
test('services/fractional-cto-for-early-stage-saas page matches snapshot', async ({ page }) => {
|
|
await page.goto('/services/fractional-cto-for-early-stage-saas');
|
|
await expect(page).toHaveTitle(/Fractional CTO for Early-Stage SaaS | mifi Ventures/);
|
|
await expect(page.locator('h1')).toBeVisible();
|
|
await expect(page.locator('#main')).toBeVisible();
|
|
await expect(page).toHaveScreenshot('services-fractional-cto-for-early-stage-saas.png', { fullPage: true });
|
|
});
|
|
|
|
test('services/stage-aligned-infrastructure page matches snapshot', async ({ page }) => {
|
|
await page.goto('/services/stage-aligned-infrastructure');
|
|
await expect(page).toHaveTitle(/Startup Infrastructure Strategy | mifi Ventures/);
|
|
await expect(page.locator('h1')).toBeVisible();
|
|
await expect(page.locator('#main')).toBeVisible();
|
|
await expect(page).toHaveScreenshot('services-stage-aligned-infrastructure.png', { fullPage: true });
|
|
});
|
|
|
|
test('privacy policy page matches snapshot', async ({ page }) => {
|
|
await page.goto('/privacy-policy');
|
|
await expect(page).toHaveTitle(/Privacy Policy | mifi Ventures/);
|
|
await expect(page.locator('h1')).toBeVisible();
|
|
await expect(page.locator('#main')).toBeVisible();
|
|
await expect(page.locator('.footer')).toBeVisible();
|
|
await expect(page).toHaveScreenshot('privacy-policy.png', { fullPage: true });
|
|
});
|
|
|
|
test('terms of service page matches snapshot', async ({ page }) => {
|
|
await page.goto('/terms-of-service');
|
|
await expect(page).toHaveTitle(/Terms of Service | mifi Ventures/);
|
|
await expect(page.locator('h1')).toBeVisible();
|
|
await expect(page.locator('#main')).toBeVisible();
|
|
await expect(page.locator('.footer')).toBeVisible();
|
|
await expect(page).toHaveScreenshot('terms-of-service.png', { fullPage: true });
|
|
});
|
|
});
|