feat(activity): add --by-activity flag to break down spent time by activity type

- Load time entry activity names from Redmine enumeration.
- Aggregate hours per issue and per activity in fetch_issues_with_spent_time.
- Add --by-activity CLI flag and propagate it through report builder,
  summary, and all formatters (console, CSV, HTML, JSON, ODT).
- Keep backward-compatible 2-tuple input in build_grouped_report.
- Bump version to 1.8.0.

Closes #41
This commit is contained in:
Кокос Артем Николаевич
2026-06-29 16:44:52 +07:00
parent f6861382e6
commit 59af7ce464
12 changed files with 142 additions and 32 deletions

View File

@@ -45,7 +45,7 @@ def test_fetch_aggregates_hours_per_issue(mock_redmine_class):
assert result is not None
assert len(result) == 1
issue, total_hours = result[0]
issue, total_hours, _activities = result[0]
assert total_hours == 3.5
@@ -109,7 +109,7 @@ def test_fetch_multiple_issues(mock_redmine_class):
assert result is not None
assert len(result) == 2
hours_by_id = {issue.id: hours for issue, hours in result}
hours_by_id = {issue.id: hours for issue, hours, _ in result}
assert hours_by_id[1] == 1.5
assert hours_by_id[2] == 2.0