import { test, expect } from '@playwright/test' test('smoke test - app loads and editor opens', async ({ page }) => { // Mock the backend API to ensure frontend can be tested in isolation await page.route('**/api/workouts', async (route) => { await route.fulfill({ status: 200, contentType: 'application/json', body: JSON.stringify([]) }) }) // 1. Visit Home await page.goto('/') // 2. Verify Title await expect(page).toHaveTitle(/FitMop/) // 3. Verify Main Content // Depending on default view, might need to click nav. // Assuming default is Dashboard or Plans. // Let's interact with the specific elements we know exist. const navButton = page.getByRole('button', { name: 'Workout Plans' }) if (await navButton.isVisible()) { await navButton.click() } await expect(page.getByRole('heading', { name: 'Workout Plans' })).toBeVisible() // 4. Navigate to Editor await page.getByRole('button', { name: 'New Plan' }).click() // 5. Verify Editor await expect(page.getByPlaceholder('Workout Name').first()).toBeVisible() await expect(page.getByText('Add Step')).toBeVisible() // 6. Check for console errors (implicit in Playwright if configured, but let's be explicit if needed) })