Files
rip-help-system/tests/test_keywords_merge.py
2026-09-11 14:49:03 +03:00

48 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Ръчните ключови думи стоят първи във всяка секция, без дубликати."""
from help_processor import merge_section_keywords, parse_keyword_list
def test_parse_comma_phrases():
assert parse_keyword_list("лимитни карти, справка, ATR") == [
"лимитни карти",
"справка",
"ATR",
]
def test_parse_space_separated_words():
assert parse_keyword_list("лимит справка ATR") == ["лимит", "справка", "ATR"]
def test_empty_manual_keeps_generated_only():
assert merge_section_keywords("", "а, б, в") == "а, б, в"
assert merge_section_keywords(" ", "а, б") == "а, б"
assert merge_section_keywords("", "") == ""
def test_manual_keywords_prepended_on_every_section():
generated = "справка, печат, експорт"
merged = merge_section_keywords("лимитни карти, ATR", generated)
assert merged == "лимитни карти, ATR, справка, печат, експорт"
def test_dedup_keeps_manual_first():
# моделът повтаря ръчна дума — остава само първата (ръчната)
merged = merge_section_keywords("ATR, справка", "справка, ATR, печат")
assert merged == "ATR, справка, печат"
def test_dedup_is_case_insensitive():
merged = merge_section_keywords("atr", "ATR, печат")
assert merged == "atr, печат"
def test_same_manual_list_for_two_sections():
seed = "лимитни карти, ATR"
a = merge_section_keywords(seed, "въвеждане, карта")
b = merge_section_keywords(seed, "печат, справка")
assert a.startswith("лимитни карти, ATR,")
assert b.startswith("лимитни карти, ATR,")
assert a == "лимитни карти, ATR, въвеждане, карта"
assert b == "лимитни карти, ATR, печат, справка"