freshyo/tests/specs/smoke.spec.ts
2026-09-12 09:06:33 +05:30

23 lines
1,005 B
TypeScript

import { test, expect } from '@playwright/test'
import { CREDENTIALS_HINT, hasStaffCredentials, waitForAppHydration } from '../helpers/admin-app'
// The whole suite requires a staff session; skip cleanly when creds are absent.
test.skip(!hasStaffCredentials(), CREDENTIALS_HINT)
test.describe('admin-web smoke', () => {
test('dashboard shell renders with sidebar navigation', async ({ page }) => {
await page.goto('/dashboard')
await waitForAppHydration(page)
await expect(page.getByRole('button', { name: 'Dashboard', exact: true })).toBeVisible()
await expect(page.getByRole('button', { name: 'Products', exact: true })).toBeVisible()
await expect(page.getByRole('button', { name: 'Slots', exact: true })).toBeVisible()
})
test('products list renders with the add-product action', async ({ page }) => {
await page.goto('/dashboard/products')
await waitForAppHydration(page)
await expect(page.getByRole('button', { name: 'Add Product' })).toBeVisible()
})
})