This commit is contained in:
Кокос Артем Николаевич
2026-02-05 15:31:31 +07:00
parent d7e927e6eb
commit 06cd57e2c4
14 changed files with 102 additions and 87 deletions

View File

@@ -4,11 +4,10 @@ from unittest import mock
from redmine_reporter.cli import main
@mock.patch.dict("os.environ", {
"REDMINE_URL": "https://red.eltex.loc/",
"REDMINE_USER": "x",
"REDMINE_PASSWORD": "y"
})
@mock.patch.dict(
"os.environ",
{"REDMINE_URL": "https://red.eltex.loc/", "REDMINE_USER": "x", "REDMINE_PASSWORD": "y"},
)
@mock.patch("redmine_reporter.client.fetch_issues_with_spent_time")
def test_cli_smoke(mock_fetch):
mock_fetch.return_value = []

View File

@@ -4,11 +4,10 @@ from unittest import mock
from redmine_reporter.config import Config
@mock.patch.dict(os.environ, {
"REDMINE_URL": "https://red.eltex.loc/",
"REDMINE_USER": "test",
"REDMINE_PASSWORD": "secret"
})
@mock.patch.dict(
os.environ,
{"REDMINE_URL": "https://red.eltex.loc/", "REDMINE_USER": "test", "REDMINE_PASSWORD": "secret"},
)
def test_config_valid():
Config.validate() # не должно быть исключения

View File

@@ -27,7 +27,7 @@ def make_fake_report_rows() -> List[ReportRow]:
"issue_id": 101,
"subject": "Реализовать фичу X",
"status_ru": "В работе",
"time_text": "4ч 30м"
"time_text": "4ч 30м",
},
{
"project": "Проект A",
@@ -37,7 +37,7 @@ def make_fake_report_rows() -> List[ReportRow]:
"issue_id": 102,
"subject": "Исправить баг Y",
"status_ru": "Решена",
"time_text": ""
"time_text": "",
},
# Проект A, v2.0
{
@@ -48,7 +48,7 @@ def make_fake_report_rows() -> List[ReportRow]:
"issue_id": 103,
"subject": "Документация Z",
"status_ru": "Ожидание",
"time_text": ""
"time_text": "",
},
# Проект B, без версии
{
@@ -59,7 +59,7 @@ def make_fake_report_rows() -> List[ReportRow]:
"issue_id": 201,
"subject": "Обновить README",
"status_ru": "Закрыто",
"time_text": ""
"time_text": "",
},
# Проект C, v1.0
{
@@ -70,7 +70,7 @@ def make_fake_report_rows() -> List[ReportRow]:
"issue_id": 301,
"subject": "Настроить CI",
"status_ru": "В работе",
"time_text": "3ч 15м"
"time_text": "3ч 15м",
},
# Проект C, v1.1
{
@@ -81,7 +81,7 @@ def make_fake_report_rows() -> List[ReportRow]:
"issue_id": 302,
"subject": "Добавить тесты",
"status_ru": "В работе",
"time_text": ""
"time_text": "",
},
{
"project": "Проект C",
@@ -91,7 +91,7 @@ def make_fake_report_rows() -> List[ReportRow]:
"issue_id": 303,
"subject": "Рефакторинг",
"status_ru": "Решена",
"time_text": "6ч 45м"
"time_text": "6ч 45м",
},
]
@@ -117,7 +117,10 @@ FORMATTER_FACTORIES = [
("compact", lambda: CompactFormatter()),
("csv", lambda: CSVFormatter()),
("markdown", lambda: MarkdownFormatter()),
("odt", lambda: ODTFormatter(author="Тест Автор", from_date="2026-01-01", to_date="2026-01-31")),
(
"odt",
lambda: ODTFormatter(author="Тест Автор", from_date="2026-01-01", to_date="2026-01-31"),
),
]

View File

@@ -19,6 +19,7 @@ def test_get_month_name_from_range():
def test_get_version():
class MockIssue:
pass
issue_with = MockIssue()
issue_with.fixed_version = "v2.5.0"
assert get_version(issue_with) == "v2.5.0"