import json
import os
from pathlib import Path

import pytest

SUMMARY_PATH = Path("frontend/assets/data/catalog-summary.json")
SITE_ROOT = Path(os.getenv("FRONTEND_SITE_PATH", "frontend/_site")) / "catalogo"

pytestmark = pytest.mark.usefixtures("ensure_frontend_site")


def test_each_catalog_has_static_page() -> None:
    summary = json.loads(SUMMARY_PATH.read_text(encoding="utf-8"))
    missing: list[str] = []
    for entry in summary:
        slug = entry.get("slug")
        if not slug:
            continue
        target = SITE_ROOT / slug / "index.html"
        if not target.exists():
            missing.append(slug)
    assert not missing, f"Faltan páginas estáticas para catálogos: {', '.join(missing)}"
