Quick fixes & tests

This commit is contained in:
Artem Kokos
2026-03-28 23:55:46 +07:00
parent 06cd57e2c4
commit 7bc6e024c0
13 changed files with 455 additions and 112 deletions

View File

@@ -27,8 +27,14 @@ def build_grouped_report(
"""
Преобразует список задач с затраченным временем в плоский список строк отчёта,
с учётом группировки по проекту и версии (пустые ячейки для повторяющихся значений).
Предусловие: issue_hours должен быть отсортирован по (project, version).
Функция выполняет сортировку самостоятельно для защиты от несортированного ввода.
"""
# Защитная сортировка -- гарантирует корректную группировку независимо от порядка на входе
issue_hours = sorted(issue_hours, key=lambda x: (str(x[0].project), get_version(x[0])))
rows: List[ReportRow] = []
prev_project: str = ""
prev_version: str = ""