import { test, expect } from '@playwright/test';

test.describe('Trainer Dashboard', () => {
  test('should allow a logged-in trainer to view their dashboard', async ({ page }) => {
    // --- Login Steps (reused from login.test.ts) ---
    // Navigate to the community login page
    await page.goto('/community-login/');

    // Check if the login form fields are visible and enabled
    const usernameField = page.locator('#user_login');
    const passwordField = page.locator('#user_pass');
    const loginButton = page.locator('#wp-submit');

    await expect(usernameField).toBeVisible();
    await expect(usernameField).toBeEnabled();
    await expect(passwordField).toBeVisible();
    await expect(passwordField).toBeEnabled();
    await expect(loginButton).toBeVisible();
    await expect(loginButton).toBeEnabled();

    // Fill in login credentials (using the test user from README)
    const username = 'test_trainer';
    const password = 'Test123!';

    await usernameField.fill(username);
    console.log(`Filled in username field with: ${username}`);

    await passwordField.fill(password);
    console.log('Filled in password field.');

    // Click the login button
    await loginButton.click();
    console.log('Clicked login button.');

    // Assert successful login (redirection to dashboard)
    await page.waitForURL('/hvac-dashboard/', { timeout: 15000 });
    console.log('Successfully logged in and redirected to dashboard.');
    // --- End Login Steps ---

    // --- Dashboard Content Analysis ---
    // Log current URL and take a screenshot of the dashboard
    console.log('On Dashboard page:', page.url());
    await page.screenshot({ path: 'dashboard-page.png', fullPage: true });

    // Print the page content to analyze available links/buttons
    console.log('Dashboard page content:');
    console.log(await page.content());

    // Assert that a key element on the dashboard is visible (optional, but good practice)
    const dashboardTitle = page.locator('h1.entry-title');
    await expect(dashboardTitle).toBeVisible();

    console.log('Dashboard page loaded. Analyzing content for event creation link.');
    // --- End Dashboard Content Analysis ---

    // Note: The test will currently pass after logging in and printing content.
    // We will update this test or create a new one once the navigation to event creation is identified.
  });
});