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 08b69b9279
commit 809293e033
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__)
@ -191,6 +196,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

@ -111,6 +111,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'
@ -191,6 +192,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'
@ -229,6 +231,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()
@ -239,6 +242,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
@ -272,6 +276,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'
@ -329,6 +334,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'
@ -364,6 +370,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'
@ -427,6 +434,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'