from pathlib import Path

ROOT = Path(__file__).resolve().parents[1]


def read(rel):
    return (ROOT / rel).read_text(encoding="utf-8")


def test_ai_rewrite_status_ajax_hook_is_registered():
    plugin = read("includes/class-ssc-ch-plugin.php")
    assert "wp_ajax_ssc_ch_ai_rewrite_status" in plugin
    assert "ajax_ai_rewrite_status" in plugin


def test_ai_rewrite_status_endpoint_checks_owner_and_returns_ready_state():
    shortcodes = read("includes/class-ssc-ch-shortcodes.php")
    assert "function ajax_ai_rewrite_status" in shortcodes
    assert "wp_verify_nonce" in shortcodes
    assert "ssc_ch_ai_rewrite_status_" in shortcodes
    assert "wp_send_json_success" in shortcodes
    assert "ready" in shortcodes
    assert "ai_rewrite_text" in shortcodes
    assert "Not your resume" in shortcodes


def test_pending_banner_polls_status_and_refreshes_when_ready():
    report = read("templates/cv-report.php")
    assert "data-ssc-ai-rewrite-pending" in report
    assert "ssc_ch_ai_rewrite_status" in report
    assert "rewriteStatusNonce" in report
    assert "setInterval" in report
    assert "window.location.replace" in report


def test_rewrite_request_kicks_wp_cron_spawn_after_scheduling():
    shortcodes = read("includes/class-ssc-ch-shortcodes.php")
    assert "spawn_cron" in shortcodes
    assert "schedule_rewrite($cv_id)" in shortcodes


def test_version_bumped_for_release():
    main = read("ssc-career-hub.php")
    assert "Version: 1.12.37" in main
    assert "SSC_CH_VERSION', '1.12.37'" in main
