fix: H3 — pressure_to_mmhg(0) возвращает 0.0 вместо '—'

- Заменён 'not mb' на 'mb is None or mb == ""' (0 — валидное значение)
- Обновлён тест test_pressure_zero: ожидание 0.0 вместо '—'

230 тестов проходят.
This commit is contained in:
deadzilla 2026-07-07 21:44:48 +05:00
parent 3aebda1114
commit ea0d50df4f
3 changed files with 5 additions and 5 deletions

View File

@ -123,7 +123,7 @@ for key, value in SORTED_MAPPING:
--- ---
### H3. `pressure_to_mmhg(0)` возвращает `"--"` вместо `0.0` ### H3. `pressure_to_mmhg(0)` возвращает `"--"` вместо `0.0` — **ИСПРАВЛЕНО**
**Файл:** `utils/pogoda.py`, строка 162 **Файл:** `utils/pogoda.py`, строка 162
@ -538,7 +538,7 @@ DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for r
3. [x] H1: Защитить `format_weather_data_for_console` от пустого списка — **выполнено** 3. [x] H1: Защитить `format_weather_data_for_console` от пустого списка — **выполнено**
4. [x] H2: Отсортировать ключи `translate_weather` по убыванию длины — **выполнено** 4. [x] H2: Отсортировать ключи `translate_weather` по убыванию длины — **выполнено**
5. [ ] H3: Исправить `pressure_to_mmhg` -- `not mb` -> `mb is None or mb == ""` 5. [x] H3: Исправить `pressure_to_mmhg` -- `not mb` -> `mb is None or mb == ""` — **выполнено**
6. [ ] H4: Добавить защиту от дублирования cogs в `on_ready` 6. [ ] H4: Добавить защиту от дублирования cogs в `on_ready`
7. [ ] H5: Заменить `asyncio.run()` на `async def` в fetch-тестах (50+ тестов) 7. [ ] H5: Заменить `asyncio.run()` на `async def` в fetch-тестах (50+ тестов)
8. [ ] H6: Добавить HTTPError в retry-блок `fetch_weather` 8. [ ] H6: Добавить HTTPError в retry-блок `fetch_weather`

View File

@ -231,8 +231,8 @@ class TestPressureToMMHG:
assert pressure_to_mmhg("abc") == "" assert pressure_to_mmhg("abc") == ""
def test_pressure_zero(self): def test_pressure_zero(self):
"""Нулевое значение — falsy, возвращается '' (известный баг).""" """Нулевое значение — корректно конвертируется в 0.0."""
assert pressure_to_mmhg(0) == "" assert pressure_to_mmhg(0) == 0.0
def test_pressure_negative(self): def test_pressure_negative(self):
"""Отрицательное значение должно конвертироваться.""" """Отрицательное значение должно конвертироваться."""

View File

@ -197,7 +197,7 @@ def format_weather_for_embed(data):
def pressure_to_mmhg(mb): def pressure_to_mmhg(mb):
if mb == "" or not mb: if mb == "" or mb is None or mb == "":
return "" return ""
try: try:
return round(float(mb) * 0.750062, 1) return round(float(mb) * 0.750062, 1)