import { test as setup, expect } from '@playwright/test';
import path from 'path';
import { fileURLToPath } from 'url';

const __dirname = path.dirname(fileURLToPath(import.meta.url));
const authFile = path.join(__dirname, '.auth/global-agent.json');

setup('login as Global CC Agent', async ({ page, request }) => {
    // Clear any stale session lock before login
    await request.post('https://global.engage.healix360.net/api/maint/unlock-agent', {
        headers: { 'Content-Type': 'application/json', 'x-maint-otp': '400168' },
        data: { agentId: 'global' },
    }).catch(() => {});

    await page.goto('https://global.engage.healix360.net/login');

    await page.locator('input[type="email"], input[placeholder*="@"]').first().fill('rekha.cc@globalcare.com');
    await page.locator('input[type="password"]').first().fill('Global@123');
    await page.getByRole('button', { name: 'Sign in', exact: true }).click();

    await expect(page).not.toHaveURL(/\/login/, { timeout: 20_000 });
    await expect(page.locator('aside').first()).toBeVisible({ timeout: 10_000 });

    await page.context().storageState({ path: authFile });
});
