from pathlib import Path

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


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


def test_save_polished_resume_route_is_registered():
    plugin = read("includes/class-ssc-ch-plugin.php")
    assert "admin_post_ssc_ch_save_polished_resume" in plugin
    assert "handle_save_polished_resume" in plugin


def test_save_polished_resume_creates_scored_child_cv_not_normal_resubmit():
    shortcodes = read("includes/class-ssc-ch-shortcodes.php")
    assert "function handle_save_polished_resume" in shortcodes
    assert "ssc_ch_save_polished_" in shortcodes
    assert "parent_cv_id" in shortcodes
    assert "SSC_CH_CV_Analyzer::review" in shortcodes
    assert "SSC_CH_DB::insert_cv" in shortcodes
    assert "polished_saved" in shortcodes
    assert "ai_polished_saved" in shortcodes


def test_polished_card_has_save_score_and_export_actions_without_resubmit_link():
    report = read("templates/cv-report.php")
    assert "data-ssc-polished-card" in report
    assert "data-ssc-polished-text" in report
    assert "Save & score this version" in report
    assert "ssc_ch_save_polished_resume" in report
    assert "data-ssc-polished-docx" in report
    assert "data-ssc-polished-pdf" in report
    assert "Use this & resubmit" not in report
    assert "use_ai_rewrite" not in report


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