Spaces:
Sleeping
Sleeping
| from pathlib import Path | |
| PATCH_TEXT = Path("fix_streamlit_nested_expanders.py").read_text(encoding="utf-8") | |
| def test_reinsert_helper_is_imported_and_used_by_streamlit_patch(): | |
| assert "from scrub_key_reinsert import reinsert_from_scrub_key" in PATCH_TEXT | |
| assert "reinsert_from_scrub_key(reinsert_input_text, active_reinsert_scrub_key)" in PATCH_TEXT | |
| def test_reinsert_ui_labels_are_present(): | |
| assert "Originele waarden terugzetten" in PATCH_TEXT | |
| assert "Plak hier de tekst waarin u originele waarden lokaal wilt terugzetten" in PATCH_TEXT | |
| assert "Zet originele waarden lokaal terug" in PATCH_TEXT | |
| assert "Herstelde tekst" in PATCH_TEXT | |
| assert "Download herstelde tekst (.txt)" in PATCH_TEXT | |
| def test_reinsert_warning_mentions_sensitive_and_confidential_output(): | |
| assert "terugzetten herstelt originele gevoelige waarden" in PATCH_TEXT | |
| assert "persoonsgegevens of vertrouwelijke informatie" in PATCH_TEXT | |
| assert "Controleer het resultaat zorgvuldig voordat u het deelt" in PATCH_TEXT | |
| def test_reinsert_ui_contains_local_only_no_ai_no_cloud_wording(): | |
| assert "lokaal uitgevoerd" in PATCH_TEXT.lower() | |
| assert "geen AI- of cloudverwerking" in PATCH_TEXT | |
| assert "AI-verwerking" in PATCH_TEXT | |
| assert "Cloudverwerking" in PATCH_TEXT | |
| def test_reinsert_requires_explicit_button_before_helper_call(): | |
| button_index = PATCH_TEXT.index('st.button("Zet originele waarden lokaal terug", key="run_local_reinsert")') | |
| helper_index = PATCH_TEXT.index("reinsert_from_scrub_key(reinsert_input_text, active_reinsert_scrub_key)") | |
| assert button_index < helper_index | |
| def test_reinsert_ui_shows_required_audit_summary_fields(): | |
| for marker in [ | |
| "Controleverslag terugzetten", | |
| "Mappingregels totaal", | |
| "Actieve mappingregels", | |
| "Uitgesloten mappingregels", | |
| "Aantal teruggezette waarden", | |
| "Niet gevonden placeholders", | |
| "Onbekende placeholders in tekst", | |
| "Dubbele placeholders in sleutel", | |
| "Validatieproblemen", | |
| "Lokaal uitgevoerd", | |
| "AI-verwerking", | |
| "Cloudverwerking", | |
| "replacement_count", | |
| "item_count", | |
| "active_item_count", | |
| "excluded_item_count", | |
| "placeholders_not_found", | |
| "unknown_placeholders", | |
| "duplicate_placeholders", | |
| "validation_issues", | |
| "local_only", | |
| "ai_processing", | |
| "cloud_processing", | |
| ]: | |
| assert marker in PATCH_TEXT | |
| def test_reinsert_ui_keeps_existing_scrub_key_export_and_import_labels(): | |
| assert "Scrub Key (JSON)" in PATCH_TEXT | |
| assert "Download Scrub Key (.json)" in PATCH_TEXT | |
| assert "Scrub Key laden" in PATCH_TEXT | |
| assert "Upload Scrub Key JSON (.json)" in PATCH_TEXT | |
| assert "Of plak Scrub Key JSON" in PATCH_TEXT | |
| assert "Valideer en laad Scrub Key" in PATCH_TEXT | |
| def test_reinsert_ui_keeps_existing_download_and_export_markers_unblocked(): | |
| assert 'st.subheader("4. Download opgeschoonde bestanden")' in PATCH_TEXT | |
| assert "Eindcontrole v贸贸r download" in PATCH_TEXT | |
| assert "Extra exportcontrole" in PATCH_TEXT | |
| assert "st.warning(EXPORT_GUIDANCE)" in PATCH_TEXT | |
| assert "st.stop()" not in PATCH_TEXT | |
| assert "blocks_export = True" not in PATCH_TEXT | |
| assert "changes_export_semantics = True" not in PATCH_TEXT | |
| def test_reinsert_ui_does_not_add_ai_calls_cloud_calls_or_document_rehydration(): | |
| forbidden_markers = [ | |
| "openai", | |
| "anthropic", | |
| "requests.post", | |
| "httpx.post", | |
| "cloud processing call", | |
| "rehydrat", | |
| "restore_original_document", | |
| "download_docx_reinserted", | |
| "download_pdf_reinserted", | |
| ] | |
| lower_patch = PATCH_TEXT.lower() | |
| for marker in forbidden_markers: | |
| assert marker.lower() not in lower_patch | |
| def test_reinsert_patch_does_not_alter_existing_replacement_application_or_scrubbed_download_functions(): | |
| assert "def apply_replacements_to_text" not in PATCH_TEXT | |
| assert "apply_replacements_to_text =" not in PATCH_TEXT | |
| assert "export_text = apply_replacements_to_text" not in PATCH_TEXT | |
| assert "download_txt" not in PATCH_TEXT | |
| assert "download_csv" not in PATCH_TEXT | |
| assert "download_docx" not in PATCH_TEXT | |
| assert "download_pdf" not in PATCH_TEXT | |