поправлены еще раз удаления
This commit is contained in:
@@ -62,5 +62,5 @@ def test_coincidental_penalties_do_not_fill_side_powerplay_labels():
|
||||
value = HockeyDataService._strength_payload(settings, stage="regular", current_period="1", timer_state=timer_state, language="ru")
|
||||
assert value["advantage_side"] == ""
|
||||
assert value["state_key"] == "4x4"
|
||||
assert value["home_label"] == ""
|
||||
assert value["away_label"] == ""
|
||||
assert value["home_label"] == "Удаление"
|
||||
assert value["away_label"] == "Удаление"
|
||||
|
||||
@@ -32,7 +32,7 @@ def test_complex_two_vs_one_keeps_real_strength_and_outputs_caption_on_advantage
|
||||
)
|
||||
assert value["strength_label"] == "3×4"
|
||||
assert value["advantage_side"] == "away"
|
||||
assert value["home_label"] == ""
|
||||
assert value["home_label"] == "Удаление"
|
||||
assert value["away_label"] == "Играют в большинстве"
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ def test_single_remaining_penalty_outputs_pp_caption_on_opposite_team():
|
||||
language="ru",
|
||||
)
|
||||
assert value["advantage_side"] == "away"
|
||||
assert value["home_label"] == ""
|
||||
assert value["home_label"] == "Удаление"
|
||||
assert value["away_label"] == "Играют в большинстве"
|
||||
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@ def test_equal_coincidental_penalties_have_no_side_caption():
|
||||
)
|
||||
assert payload["strength_label"] == "4×4"
|
||||
assert payload["advantage_side"] == ""
|
||||
assert payload["home_label"] == ""
|
||||
assert payload["away_label"] == ""
|
||||
assert payload["home_label"] == "Удаление"
|
||||
assert payload["away_label"] == "Удаление"
|
||||
|
||||
|
||||
def test_two_vs_one_penalties_caption_only_advantage_team():
|
||||
@@ -55,7 +55,7 @@ def test_two_vs_one_penalties_caption_only_advantage_team():
|
||||
)
|
||||
assert payload["strength_label"] == "3×4"
|
||||
assert payload["advantage_side"] == "away"
|
||||
assert payload["home_label"] == ""
|
||||
assert payload["home_label"] == "Удаление"
|
||||
assert payload["away_label"] == "Играют в большинстве"
|
||||
|
||||
|
||||
|
||||
81
tests/test_build91_runtime_version_pbp_penalty_labels.py
Normal file
81
tests/test_build91_runtime_version_pbp_penalty_labels.py
Normal file
@@ -0,0 +1,81 @@
|
||||
from pathlib import Path
|
||||
|
||||
from hockey_data.service import HockeyDataService
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
RUNTIME = (ROOT / "ui_builder/static/runtime.html").read_text(encoding="utf-8")
|
||||
INDEX = (ROOT / "ui_builder/static/index.html").read_text(encoding="utf-8")
|
||||
INTEGRATION = (ROOT / "ui_builder/integration.py").read_text(encoding="utf-8")
|
||||
APP_JS = (ROOT / "ui_builder/static/app.js").read_text(encoding="utf-8")
|
||||
APP = (ROOT / "app.py").read_text(encoding="utf-8")
|
||||
|
||||
|
||||
def _penalty(side: str, remaining_ms: int = 120000):
|
||||
return {
|
||||
"side": side,
|
||||
"infraction": {"id": "minor"},
|
||||
"preset": "2m",
|
||||
"durationMs": 120000,
|
||||
"remainingMs": remaining_ms,
|
||||
"finished": False,
|
||||
}
|
||||
|
||||
|
||||
def _strength(home=0, away=0, language="ru"):
|
||||
timer_state = {
|
||||
"penalty_board": {
|
||||
"penalties": [_penalty("home") for _ in range(home)] + [_penalty("away") for _ in range(away)]
|
||||
}
|
||||
}
|
||||
settings = {
|
||||
"strength_regulation_skaters": 5,
|
||||
"strength_regular_overtime_skaters": 3,
|
||||
"strength_playoff_overtime_skaters": 5,
|
||||
"strength_min_skaters": 3,
|
||||
"strength_state_labels": {
|
||||
"regulation": {
|
||||
"5x4": {"ru": "Играют в большинстве", "en": "Power play"},
|
||||
"4x4": {"ru": "4 на 4", "en": "4 on 4"},
|
||||
"4x3": {"ru": "Большинство 4 на 3", "en": "4 on 3 power play"},
|
||||
}
|
||||
},
|
||||
}
|
||||
return HockeyDataService._strength_payload(
|
||||
settings,
|
||||
stage="regular",
|
||||
current_period="1",
|
||||
timer_state=timer_state,
|
||||
language=language,
|
||||
)
|
||||
|
||||
|
||||
def test_runtime_badge_is_server_build_version_placeholder():
|
||||
assert "BUILD __UI_BUILDER_BUILD_VERSION__" in RUNTIME
|
||||
assert "BUILD __UI_BUILDER_BUILD_VERSION__" in INDEX
|
||||
assert '.replace("__UI_BUILDER_BUILD_VERSION__", str(build_version or asset_version))' in INTEGRATION
|
||||
assert "build_version=BUILD_VERSION" in APP
|
||||
assert 'BUILD_VERSION = "2026.08.20.12"' in APP
|
||||
|
||||
|
||||
def test_play_by_play_defaults_collapsed_until_operator_opens_it():
|
||||
assert "Object.prototype.hasOwnProperty.call(state.formValues, collapsedKey)" in APP_JS
|
||||
assert ": true;" in APP_JS
|
||||
|
||||
|
||||
def test_penalized_side_gets_penalty_caption_and_advantage_side_keeps_pp_caption():
|
||||
payload = _strength(home=1, away=0)
|
||||
assert payload["home_label"] == "Удаление"
|
||||
assert payload["away_label"] == "Играют в большинстве"
|
||||
|
||||
|
||||
def test_equal_coincidental_penalties_expose_penalty_caption_on_both_mapping_sides():
|
||||
payload = _strength(home=1, away=1)
|
||||
assert payload["advantage_side"] == ""
|
||||
assert payload["home_label"] == "Удаление"
|
||||
assert payload["away_label"] == "Удаление"
|
||||
|
||||
|
||||
def test_english_penalty_caption():
|
||||
payload = _strength(home=1, away=0, language="en")
|
||||
assert payload["home_label"] == "Penalty"
|
||||
assert payload["away_label"] == "Power play"
|
||||
Reference in New Issue
Block a user