- Replaced deprecated console usage in `print_access_card` with a new console import for improved output handling. - Updated test assertions in `test_pools.py` and `test_prompts.py` for better clarity and accuracy in expected results.
33 lines
1004 B
Python
33 lines
1004 B
Python
from gpu_rent.prompts import MenuItem, prompt_menu, resolve_menu_choice
|
|
|
|
|
|
def test_resolve_by_number():
|
|
items = [MenuItem("a", "A"), MenuItem("b", "B"), MenuItem("keep", "K")]
|
|
assert resolve_menu_choice("2", items, default_key="keep") == "b"
|
|
assert resolve_menu_choice("", items, default_key="keep") == "keep"
|
|
assert resolve_menu_choice("keep", items, default_key="a") == "keep"
|
|
|
|
|
|
def test_prompt_menu_prints_and_picks():
|
|
items = [
|
|
MenuItem("recommended", "rec"),
|
|
MenuItem("light", "lit"),
|
|
MenuItem("keep", "keep yaml"),
|
|
]
|
|
shown: list[str] = []
|
|
|
|
def ask(msg: str, default: str = "") -> str:
|
|
assert default == "3" # keep is default
|
|
return "1"
|
|
|
|
key = prompt_menu(
|
|
"GGUF",
|
|
items,
|
|
default="keep",
|
|
ask=ask,
|
|
show=shown.append,
|
|
)
|
|
assert key == "recommended"
|
|
assert any("rec" in line for line in shown)
|
|
assert any("←" in line for line in shown)
|