"""Playwright browser verification for Invoice Knowledge Discovery Dashboard."""

import asyncio
import os
import sys
from pathlib import Path
from playwright.async_api import async_playwright

if hasattr(sys.stdout, "reconfigure"):
    sys.stdout.reconfigure(encoding="utf-8")

ARTIFACTS_DIR = Path(r"C:\Users\Admin\.gemini\antigravity\brain\12028ecb-5bab-40ba-b1fa-497b280ea919")
HTML_FILE = Path(r"c:\Projects\DSCons\app\static\invoices_knowledge_discovery.html")

async def test_invoices_knowledge_discovery_ui():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=True)
        context = await browser.new_context(viewport={"width": 1440, "height": 960})
        page = await context.new_page()

        print("[1] Opening Knowledge Discovery Dashboard...")
        await page.goto(HTML_FILE.as_uri())
        await page.wait_for_timeout(1000)

        # Check if the title is loaded
        title = await page.title()
        print(f"Title: {title}")
        
        # Take screenshot
        p_main = ARTIFACTS_DIR / "invoices_knowledge_discovery_ui.png"
        await page.screenshot(path=str(p_main))
        print(f"[2] Saved Knowledge Discovery UI screenshot: {p_main}")

        await browser.close()
        print("[SUCCESS] Invoices Knowledge Discovery UI tests passed!")

if __name__ == "__main__":
    asyncio.run(test_invoices_knowledge_discovery_ui())
