# edited by glg
import pytest

from scripts.ci.run_modules_quality_guard_v90 import evaluate_all_modules

pytestmark = [pytest.mark.unit]


def test_modules_quality_guard_v90_memuat_semua_modul():
    summary = evaluate_all_modules()
    module_results = list(summary.get("module_results") or [])
    module_names = {str(item.get("module_name") or "").strip() for item in module_results}

    expected_modules = {
        "auth",
        "customer",
        "dashboard",
        "penjualan",
        "platform_ops",
        "printer",
        "scanner",
        "settings",
        "sinkronisasi",
    }
    assert expected_modules.issubset(module_names)


def test_modules_quality_guard_v90_seluruh_modul_lulus_batas_minimum():
    summary = evaluate_all_modules()
    module_results = list(summary.get("module_results") or [])
    assert module_results

    for row in module_results:
        score = int(row.get("score") or 0)
        pass_score = int(row.get("pass_score") or 0)
        assert score >= pass_score
