refactor to use CSS grid
This commit is contained in:
@@ -2,42 +2,21 @@ import { expect, test } from '@playwright/test';
|
||||
|
||||
test('desktop page has nav tree', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await expect(page.locator('nav')).toBeVisible();
|
||||
await expect(page.getByRole('navigation')).toBeVisible();
|
||||
});
|
||||
|
||||
test('desktop page does not have nav toggle', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await expect(page.locator('nav button')).toBeHidden();
|
||||
await expect(page.getByRole('navigation').getByRole('button')).toBeHidden();
|
||||
});
|
||||
|
||||
test('desktop page has two-column layout', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await expect(page.locator('#pane-preview')).toBeVisible();
|
||||
await expect(page.getByTestId('content-pane')).toBeVisible();
|
||||
await expect(page.getByTestId('preview-pane')).toBeVisible();
|
||||
});
|
||||
|
||||
test('desktop page has no "preview" nav item', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await expect(page.getByRole('tab').filter({ hasText: 'preview' })).toBeHidden();
|
||||
});
|
||||
|
||||
test('desktop page has equal width for both columns', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
const { width: contentWidth } = (await page.getByTestId('content-pane').boundingBox()) ?? {
|
||||
width: -1,
|
||||
};
|
||||
const { width: previewWidth } = (await page.getByTestId('preview-pane').boundingBox()) ?? {
|
||||
width: -2,
|
||||
};
|
||||
expect(contentWidth).toEqual(previewWidth);
|
||||
});
|
||||
|
||||
test('desktop page has equal width for nav items', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
const visibleTabs = page.getByRole('tab').filter({ hasNotText: 'preview' });
|
||||
const { width: firstTabWidth } = (await visibleTabs.first().boundingBox()) ?? {
|
||||
width: -1,
|
||||
};
|
||||
for (let i = 1; i < (await visibleTabs.count()); i++) {
|
||||
await expect((await visibleTabs.nth(i).boundingBox())?.width).toEqual(firstTabWidth);
|
||||
}
|
||||
});
|
||||
|
@@ -2,9 +2,7 @@ import { expect, test } from '@playwright/test';
|
||||
|
||||
test('page has headline', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
const headline = page.locator('header h1');
|
||||
await expect(headline).toBeVisible();
|
||||
await expect(headline).toHaveText('resumarkdown');
|
||||
await expect(page.getByRole('banner')).toHaveText('resumarkdown');
|
||||
});
|
||||
|
||||
test('nav items work', async ({ page }) => {
|
||||
|
@@ -9,25 +9,26 @@ test.use({
|
||||
|
||||
test('mobile page has nav tree hidden by default', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await expect(page.locator('nav ul')).toBeHidden();
|
||||
await expect(page.getByRole('navigation').getByRole('tablist')).toBeHidden();
|
||||
});
|
||||
|
||||
test('mobile page has nav toggle', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await expect(page.locator('nav button')).toBeVisible();
|
||||
await expect(page.getByRole('navigation').getByRole('button')).toBeVisible();
|
||||
});
|
||||
|
||||
test('nav toggle works', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await page.locator('nav button').click();
|
||||
await expect(page.locator('nav ul')).toBeVisible();
|
||||
await page.locator('nav button').click();
|
||||
await expect(page.locator('nav ul')).toBeHidden();
|
||||
await page.getByText('show navigation').click();
|
||||
await expect(page.getByRole('navigation').getByRole('tablist')).toBeVisible();
|
||||
await page.getByText('hide navigation').click();
|
||||
await expect(page.getByRole('navigation').getByRole('tablist')).toBeHidden();
|
||||
});
|
||||
|
||||
test('mobile page has single-column layout', async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await expect(page.locator('#pane-preview')).toBeHidden();
|
||||
await expect(page.getByTestId('content-pane')).toBeVisible();
|
||||
await expect(page.getByTestId('preview-pane')).toBeHidden();
|
||||
});
|
||||
|
||||
test('mobile page has preview nav item', async ({ page }) => {
|
||||
|
Reference in New Issue
Block a user