force tracker when changing status (#73091)
gitea/gitea-redmine/pipeline/head This commit looks good Details

This commit is contained in:
Benjamin Dauvergne 2023-04-24 16:26:36 +02:00
parent b5bb8dd3b6
commit e13f4d849a
2 changed files with 14 additions and 0 deletions

View File

@ -35,6 +35,11 @@ CLOSED_STATUSES = [
REDMINE_STATUSES['Rejeté'],
]
REDMINE_TRACKERS = {
'Développement': 2,
}
app = flask.Flask(__name__)
@ -193,6 +198,7 @@ def set_status(status_id, unless=[]):
def inner(issue, payload):
current_status = issue.status.id
if current_status not in unless:
issue.tracker_id = REDMINE_TRACKERS['Développement']
issue.status_id = status_id
return inner

View File

@ -116,6 +116,7 @@ def test_handle_pull_request_opened(mocker):
get_redmine_user.assert_called_once_with('testuser')
assert issue.assigned_to_id == redmine_user.id
assert issue.tracker_id == gitea_redmine.REDMINE_TRACKERS['Développement']
assert issue.status_id == gitea_redmine.REDMINE_STATUSES['Solution proposée']
assert issue.notes == (
'Test User (testuser) a ouvert une pull request sur Gitea concernant cette demande :\n\n'
@ -196,6 +197,7 @@ def test_handle_pull_request_edited(mocker):
get_redmine_user.assert_called_once_with('testuser')
assert issue.assigned_to_id == redmine_user.id
assert issue.tracker_id == gitea_redmine.REDMINE_TRACKERS['Développement']
assert issue.status_id == gitea_redmine.REDMINE_STATUSES['En cours']
assert issue.notes == (
'Test User (testuser) a lié une pull request sur Gitea concernant cette demande :\n\n'
@ -234,6 +236,7 @@ def test_handle_pull_request_edited_wip_removal(mocker):
gitea_redmine.handle_pull_request_opened_draft(issue, payload, project)
assert issue.assigned_to_id == redmine_user.id
assert issue.tracker_id == gitea_redmine.REDMINE_TRACKERS['Développement']
assert issue.status_id == gitea_redmine.REDMINE_STATUSES['En cours']
issue.save.assert_called_once()
@ -244,6 +247,7 @@ def test_handle_pull_request_edited_wip_removal(mocker):
payload['action'] = 'edited'
payload['pull_request']['title'] = 'Foo' # remove WIP: prefix
gitea_redmine.handle_pull_request_edited(issue, payload, project)
assert issue.tracker_id == gitea_redmine.REDMINE_TRACKERS['Développement']
assert issue.status_id == gitea_redmine.REDMINE_STATUSES['Solution proposée']
assert issue.save.call_count == 2
@ -277,6 +281,7 @@ def test_handle_pull_request_draft(mocker):
issue = mocker.Mock(journals=[])
gitea_redmine.handle_pull_request_edited(issue, payload, project)
assert issue.tracker_id == gitea_redmine.REDMINE_TRACKERS['Développement']
assert issue.status_id == gitea_redmine.REDMINE_STATUSES['En cours']
assert issue.notes == (
'Test User (testuser) a commencé à travailler sur une pull request sur Gitea concernant cette demande :\n\n'
@ -334,6 +339,7 @@ def test_handle_pull_request_reviewed_approved(mocker):
gitea_redmine.handle_pull_request_approved(issue, payload, project)
assert issue.tracker_id == gitea_redmine.REDMINE_TRACKERS['Développement']
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'
@ -369,6 +375,7 @@ def test_handle_pull_request_reviewed_rejected(mocker):
gitea_redmine.handle_pull_request_rejected(issue, payload, project)
assert issue.tracker_id == gitea_redmine.REDMINE_TRACKERS['Développement']
assert issue.status_id == gitea_redmine.REDMINE_STATUSES['En cours']
assert issue.notes == (
'Test User (testuser) a relu et demandé des modifications sur une pull request sur Gitea concernant cette demande :\n\n'
@ -432,6 +439,7 @@ def test_handle_pull_request_merged(mocker):
gitea_redmine.handle_pull_request_merged(issue, payload, project)
assert issue.tracker_id == gitea_redmine.REDMINE_TRACKERS['Développement']
assert issue.status_id == gitea_redmine.REDMINE_STATUSES['Résolu']
assert issue.notes == (
'Test User (testuser) a mergé une pull request sur Gitea concernant cette demande :\n\n'