sample.spec.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { test, expect } from '@playwright/test'
  2. import { setupApiMocks, resetMockStatus } from './mocks/api'
  3. test.describe('App Infrastructure', () => {
  4. test.beforeEach(async ({ page }) => {
  5. resetMockStatus()
  6. await setupApiMocks(page)
  7. })
  8. test('app loads and renders header', async ({ page }) => {
  9. await page.goto('/')
  10. // Header should be visible with app name
  11. await expect(page.getByText('Dune Weaver')).toBeVisible()
  12. })
  13. test('app renders bottom navigation', async ({ page }) => {
  14. await page.goto('/')
  15. // Bottom nav should have all navigation items
  16. const nav = page.locator('nav')
  17. await expect(nav).toBeVisible()
  18. })
  19. test('dark mode toggle works', async ({ page }) => {
  20. await page.goto('/')
  21. // Find and click theme toggle in menu
  22. await page.getByRole('button', { name: /menu/i }).click()
  23. // Look for dark/light mode option
  24. const themeButton = page.getByText(/dark mode|light mode/i)
  25. await expect(themeButton).toBeVisible()
  26. })
  27. })