import { test, expect } from '@playwright/test'; test.describe('Admin Dashboard', () => { // Use a beforeEach hook to log in before each test test.beforeEach(async ({ page }) => { await page.goto('/en/admin'); await page.addStyleTag({ content: 'nextjs-portal, #nextjs-dev-overlay, [data-nextjs-dev-overlay] { display: none !important; }' }); // Check if login is needed const passwordInput = page.getByPlaceholder('Password'); if (await passwordInput.isVisible()) { await passwordInput.fill('admin123'); // Default dev password await page.getByRole('button', { name: 'Login' }).dispatchEvent('click'); await page.waitForTimeout(500); // Wait for transition await expect(page).toHaveURL(/\/(admin|en\/admin)/); } }); test('Can access Admin Dashboard', async ({ page }) => { // Song Library was moved, check for Dashboard title and other sections await expect(page.getByRole('heading', { name: 'Hördle Admin Dashboard' })).toBeVisible(); await expect(page.getByText('Manage Specials')).toBeVisible(); }); test('Shows Daily Puzzles section', async ({ page }) => { // "Today's Daily Puzzles" is the text in en.json await expect(page.getByText("Today's Daily Puzzles")).toBeVisible(); }); });