Ignore multiple reviews in Redmine (#73168)
gitea-wip/gitea-redmine/pipeline/pr-main This commit looks good Details
gitea-wip/gitea-redmine/pipeline/head This commit looks good Details

This commit is contained in:
Corentin Sechet 2023-01-09 15:20:59 +01:00
parent 43c9610cab
commit e6a4afe0f7
2 changed files with 31 additions and 0 deletions

View File

@ -257,6 +257,7 @@ handle_pull_request_merged = make_handler(
)
handle_pull_request_approved = make_handler(
skip_if_status(REDMINE_STATUSES['Solution validée']),
set_status(REDMINE_STATUSES['Solution proposée'], unless=CLOSED_STATUSES),
save(),
set_status(REDMINE_STATUSES['Solution validée'], unless=CLOSED_STATUSES),

View File

@ -305,6 +305,36 @@ def test_handle_pull_request_reviewed_rejected(mocker):
issue.save.assert_called_once()
def test_handle_pull_request_reviewed_approved_already_approved(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()
issue = mocker.Mock(
status=mocker.Mock(id=gitea_redmine.REDMINE_STATUSES["Solution validée"])
)
gitea_redmine.handle_pull_request_approved(issue, payload)
issue.save.assert_not_called()
def test_handle_pull_request_merged(mocker):
payload = {
"action": "closed",