docs: обновлён ISSUES.md — все задачи (средний + низкий) перенесены в исправленные

This commit is contained in:
deadzilla 2026-07-12 00:18:43 +05:00
parent 1ab3205333
commit 90547df975

View File

@ -1,14 +1,5 @@
# ISSUES — Задачи и баг-трекер # ISSUES — Задачи и баг-трекер
## Низкий приоритет
- [ ] **`conftest.py` и `bot.py` дублируют monkey-patch** — идентичный `asyncio.iscoroutinefunction = ...` в двух файлах. Вынести в `compat.py`
- [ ] **`RateLimiter` тесты зависят от реального времени** — `time.monotonic()` в `_refill` делает тесты потенциально flaky на медленном CI. Добавить `time.monotonic` mock
- [ ] **`Dockerfile` не копирует `conftest.py`** — `COPY` пропускает `conftest.py`. Тесты в контейнере упадут без monkey-patch
- [ ] **`requirements.txt` без пиннинга версий** — `>=` допускает мажорные обновления. Для production использовать `==` или `~=`
- [ ] **Закомментированный тест `pressure_to_mmhg(0)` вводит в заблуждение**`(0, "\u2014"), # 0 — falsy, возвращается '\u2014' (баг)` закомментирован, но `test_pressure_zero` проходит. Удалить закомментированную строку (`tests/test_pogoda.py`)
- [ ] **`format_articles(None)` бросает `TypeError`** — нет валидации `articles` на `None`. Вызывает краш вместо graceful fallback (`utils/news.py`)
--- ---
## Исправлено ## Исправлено
@ -42,3 +33,9 @@
- [x] **`TextHelpCommand` пропускает команды без cog** — standalone-команды показываются если не hidden (`bot.py`) - [x] **`TextHelpCommand` пропускает команды без cog** — standalone-команды показываются если не hidden (`bot.py`)
- [x] **`translate_weather(" ")` возвращает пробелы** — добавлен `.strip()` перед проверкой (`utils/pogoda.py`) - [x] **`translate_weather(" ")` возвращает пробелы** — добавлен `.strip()` перед проверкой (`utils/pogoda.py`)
- [x] **`pressure_to_mmhg(mb: Any)`** — заменён на `float | int | str | None` (`utils/pogoda.py`) - [x] **`pressure_to_mmhg(mb: Any)`** — заменён на `float | int | str | None` (`utils/pogoda.py`)
- [x] **`conftest.py` и `bot.py` дублируют monkey-patch** — вынесен в `utils/compat.py`, оба файла импортируют оттуда
- [x] **`RateLimiter` тесты зависят от реального времени** — добавлен `_time_func` параметр, все тесты используют контролируемую функцию времени
- [x] **`Dockerfile` не копирует `conftest.py`** — добавлен `COPY conftest.py .`
- [x] **`requirements.txt` без пиннинга версий** — `>=` заменён на `~=` (compatible release)
- [x] **Закомментированный тест `pressure_to_mmhg(0)`** — удалена устаревшая закомментированная строка
- [x] **`format_articles(None)` бросает `TypeError`** — добавлена валидация `None`, graceful fallback с сообщением