/**
 * Custom Playwright test fixtures.
 *
 * Provides a `test` function that connects to a remote Chrome via CDP
 * when PLAYWRIGHT_CDP_URL is set (Docker Chrome mode).
 * Falls back to the default local browser otherwise.
 */

import { test as base, chromium } from "@playwright/test";

type Fixtures = {
  // Browser is provided by Playwright Test by default.
  // We only override it when connecting to remote Docker Chrome.
};

const cdpUrl = process.env.PLAYWRIGHT_CDP_URL;

export const test = cdpUrl
  ? base.extend<Fixtures>({
      browser: async ({}, use) => {
        const browser = await chromium.connectOverCDP(cdpUrl);
        await use(browser);
        await browser.close();
      },
    })
  : base;

export { expect } from "@playwright/test";