Use N/A for empty review comment instead of empty string
gitea-wip/gitea-redmine/pipeline/pr-main This commit looks good Details

This commit is contained in:
Agate 2022-11-21 14:37:05 +01:00
parent 61ddf0c3d8
commit f36c7938c0
2 changed files with 44 additions and 0 deletions

View File

@ -187,6 +187,14 @@ def skip_if_status(status):
return inner
def set_value_if_empty(field, value):
def inner(issue, payload):
if not payload.get(field):
payload[field] = value
return inner
handle_pull_request_opened = make_handler(
assign_to('pull_request_user_username'),
set_status(REDMINE_STATUSES['En cours']),
@ -228,6 +236,7 @@ handle_pull_request_approved = make_handler(
set_status(REDMINE_STATUSES['Solution proposée']),
save(),
set_status(REDMINE_STATUSES['Solution validée']),
set_value_if_empty("review_content", "N/A"),
add_note(
'{sender_full_name} ({sender_username}) a approuvé une pull request sur Gitea concernant cette demande :\n\n* URL : {pull_request_url}\n* Commentaire :\n\n{review_content}'
),
@ -236,6 +245,7 @@ handle_pull_request_approved = make_handler(
handle_pull_request_rejected = make_handler(
set_status(REDMINE_STATUSES['En cours']),
set_value_if_empty("review_content", "N/A"),
add_note(
'{sender_full_name} ({sender_username}) a relu et demandé des modifications sur une pull request sur Gitea concernant cette demande :\n\n* URL : {pull_request_url}\n* Commentaire :\n\n{review_content}'
),

View File

@ -266,6 +266,40 @@ def test_handle_pull_request_reviewed_rejected(mocker):
issue.save.assert_called_once()
def test_handle_pull_request_reviewed_approved_empty_comment(mocker):
payload = {
"action": "reviewed",
"number": 2,
"pull_request": {
"id": 7,
"url": "https://gitea.entrouvert.org/entrouvert/gitea-redmine/pulls/2",
"number": 2,
"title": "Foo",
"body": "See #70893",
"merged": True,
},
"sender": {
"id": 7,
"login": "testuser",
"full_name": "Test User",
"email": "test_user@noreply.gitea.entrouvert.org",
"username": "testuser",
},
"review": {"type": "pull_request_review_approved", "content": ""},
}
issue = mocker.Mock()
gitea_redmine.handle_pull_request_approved(issue, payload)
assert issue.status_id == gitea_redmine.REDMINE_STATUSES["Solution validée"]
assert issue.notes == (
"Test User (testuser) a approuvé une pull request sur Gitea concernant cette demande :\n\n"
"* URL : https://gitea.entrouvert.org/entrouvert/gitea-redmine/pulls/2\n"
"* Commentaire :\n\nN/A"
)
issue.save.assert_called()
def test_handle_pull_request_merged(mocker):
payload = {
"action": "closed",