Files
my-botty/test/test_skill_preflight.py
Alex 5c687773b1 Click-and-go install: self-bootstrapping install.bat + tesserocr DLL fix (#2)
Merges fix/stash-full-guard-and-testbed into main. See PR #2 for full description.
2026-06-20 09:27:12 +02:00

49 lines
1.4 KiB
Python

import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "src"))
from utils.skill_preflight import get_build_skill_checks
class DummyConfig:
char = {"type": "blizz_sorc"}
blizz_sorc = {
"blizzard": "f1",
"ice_blast": "",
"energy_shield": "f3",
"frozen_armor": "f4",
"static_field": "f5",
"telekinesis": "f6",
"thunder_storm": "",
}
def test_blizz_sorc_skill_checks():
checks = get_build_skill_checks(DummyConfig())
by_skill = {check.skill: check for check in checks}
assert by_skill["blizzard"].required is True
assert by_skill["blizzard"].side == "right"
assert by_skill["blizzard"].hotkey == "f1"
assert "ice_blast" not in by_skill
assert by_skill["energy_shield"].required is False
assert by_skill["frozen_armor"].side == "right"
assert by_skill["static_field"].hotkey == "f5"
assert by_skill["telekinesis"].hotkey == "f6"
def test_blizz_sorc_optional_attack_is_right_skill():
config = DummyConfig()
config.blizz_sorc = dict(DummyConfig.blizz_sorc)
config.blizz_sorc["ice_blast"] = "f2"
by_skill = {check.skill: check for check in get_build_skill_checks(config)}
assert by_skill["ice_blast"].side == "right"
def test_unknown_build_has_no_checks():
assert get_build_skill_checks(DummyConfig(), "nonexistent_build") == []