"""Test E2E: kiểm tra cấu trúc ĐIỀU / 1.1 / 1.2.1 có ra đúng heading không."""
import sys
import io
import os
import re

sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))

import httpx

filepath = os.path.join(os.path.dirname(__file__), "67_formatted.docx")

with open(filepath, "rb") as f:
    resp = httpx.post(
        "http://localhost:5000/v1/convert/file",
        files={"files": (os.path.basename(filepath), f,
               "application/vnd.openxmlformats-officedocument.wordprocessingml.document")},
        timeout=120,
    )

data = resp.json()
md = data.get("document", {}).get("md_content", "")
meta = data.get("meta", {})

print(f"Backend: {meta.get('backend')}")
print(f"Điều count: {meta.get('dieu_count')}")
print(f"Total chars: {len(md)}")
print(f"Low info: {meta.get('low_information')}")
print()

# In các dòng có heading (#) hoặc chứa "Điều"
for i, line in enumerate(md.split("\n")):
    if line.startswith("#") or "điều" in line.lower():
        print(f"{i+1:3d} | {line}")
