TenantAtlas/apps/website/tests/smoke/home-product.spec.ts
Ahmed Darrazi 54d604ff1e
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 3m50s
feat: implement website visual foundation
2026-04-19 09:10:29 +02:00

54 lines
1.9 KiB
TypeScript

import { expect, test } from '@playwright/test';
import {
expectCtaHierarchy,
expectDisclosureLayer,
expectFooterLinks,
expectNavigationVsCtaDifferentiation,
expectPageFamily,
expectPrimaryNavigation,
expectShell,
visitPage,
} from './smoke-helpers';
test('home uses the landing foundation to explain the product category with one clear action hierarchy', async ({
page,
}) => {
await visitPage(page, '/');
await expectShell(page, /TenantAtlas/);
await expectPageFamily(page, 'landing');
await expectDisclosureLayer(page, '1');
await expectDisclosureLayer(page, '2');
await expectPrimaryNavigation(page);
await expectNavigationVsCtaDifferentiation(page);
await expectFooterLinks(page);
await expect(
page.getByRole('heading', {
name: 'Carry one visual language from product orientation into proof.',
}),
).toBeVisible();
await expectCtaHierarchy(page, 'See the product model', 'Review the trust posture');
const skipLink = page.getByRole('link', { name: 'Skip to content' });
await page.keyboard.press('Tab');
await expect(skipLink).toBeFocused();
});
test('product keeps the connected operating model readable without collapsing into a feature list', async ({
page,
}) => {
await visitPage(page, '/product');
await expectShell(page, 'One operating model for change history, drift visibility, and review readiness.');
await expectPageFamily(page, 'landing');
await expectDisclosureLayer(page, '1');
await expectDisclosureLayer(page, '2');
await expectPrimaryNavigation(page);
await expectNavigationVsCtaDifferentiation(page);
await expectFooterLinks(page);
await expect(
page.getByRole('heading', { name: 'Make the operating model legible before the feature list.' }),
).toBeVisible();
await expectCtaHierarchy(page, 'See audience fit', 'Talk through your current operating model');
});