mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-20 14:30:41 +00:00
49 lines
1.6 KiB
TypeScript
49 lines
1.6 KiB
TypeScript
import { expect, test } from '@playwright/test'
|
|
|
|
test.describe('Desktop layout @smoke', () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
await page.goto('/')
|
|
})
|
|
|
|
test('navigation links visible and hamburger hidden', async ({ page }) => {
|
|
const nav = page.getByRole('navigation', { name: 'Main navigation' })
|
|
const desktopLinks = nav.getByTestId('desktop-nav-links')
|
|
await expect(desktopLinks.getByText('PRODUCTS').first()).toBeVisible()
|
|
await expect(desktopLinks.getByText('PRICING').first()).toBeVisible()
|
|
|
|
await expect(page.getByRole('button', { name: 'Toggle menu' })).toBeHidden()
|
|
})
|
|
|
|
test('product cards in grid layout', async ({ page }) => {
|
|
const section = page.locator('section', {
|
|
has: page.getByRole('heading', { name: /The AI creation/ })
|
|
})
|
|
const cards = section.locator('a[href]')
|
|
await expect(cards).toHaveCount(4)
|
|
|
|
const firstBox = await cards.nth(0).boundingBox()
|
|
const secondBox = await cards.nth(1).boundingBox()
|
|
|
|
expect(firstBox, 'first card bounding box').not.toBeNull()
|
|
expect(secondBox, 'second card bounding box').not.toBeNull()
|
|
expect(firstBox!.y).toBeCloseTo(secondBox!.y, 0)
|
|
})
|
|
})
|
|
|
|
test.describe('Mobile layout @mobile', () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
await page.goto('/')
|
|
})
|
|
|
|
test('hamburger visible and desktop nav hidden', async ({ page }) => {
|
|
await expect(
|
|
page.getByRole('button', { name: 'Toggle menu' })
|
|
).toBeVisible()
|
|
})
|
|
|
|
test('SocialProofBar shows two marquee rows on mobile', async ({ page }) => {
|
|
const mobileContainer = page.getByTestId('social-proof-mobile')
|
|
await expect(mobileContainer).toBeVisible()
|
|
})
|
|
})
|