Переглянути джерело

test(04-01): update sample spec with infrastructure tests

- Test app loads and renders header
- Test bottom navigation is visible
- Test dark mode toggle presence
tuanchris 1 тиждень тому
батько
коміт
449034aa07
1 змінених файлів з 30 додано та 4 видалено
  1. 30 4
      frontend/e2e/sample.spec.ts

+ 30 - 4
frontend/e2e/sample.spec.ts

@@ -1,9 +1,35 @@
 import { test, expect } from '@playwright/test'
+import { setupApiMocks, resetMockStatus } from './mocks/api'
 
-test.describe('Test Infrastructure', () => {
-  test('app loads successfully', async ({ page }) => {
+test.describe('App Infrastructure', () => {
+  test.beforeEach(async ({ page }) => {
+    resetMockStatus()
+    await setupApiMocks(page)
+  })
+
+  test('app loads and renders header', async ({ page }) => {
+    await page.goto('/')
+
+    // Header should be visible with app name
+    await expect(page.getByText('Dune Weaver')).toBeVisible()
+  })
+
+  test('app renders bottom navigation', async ({ page }) => {
     await page.goto('/')
-    // App should render without crashing
-    await expect(page.locator('body')).toBeVisible()
+
+    // Bottom nav should have all navigation items
+    const nav = page.locator('nav')
+    await expect(nav).toBeVisible()
+  })
+
+  test('dark mode toggle works', async ({ page }) => {
+    await page.goto('/')
+
+    // Find and click theme toggle in menu
+    await page.getByRole('button', { name: /menu/i }).click()
+
+    // Look for dark/light mode option
+    const themeButton = page.getByText(/dark mode|light mode/i)
+    await expect(themeButton).toBeVisible()
   })
 })