diff --git a/runbot_merge/models/pull_requests.py b/runbot_merge/models/pull_requests.py index 54755b10..9c012089 100644 --- a/runbot_merge/models/pull_requests.py +++ b/runbot_merge/models/pull_requests.py @@ -567,6 +567,8 @@ class PullRequests(models.Model): if newstate: self.state = newstate ok = True + else: + msg = "This PR is already reviewed, reviewing it again is useless." elif not param and is_author: newstate = RMINUS.get(self.state) if newstate: diff --git a/runbot_merge/tests/test_basic.py b/runbot_merge/tests/test_basic.py index 10a32f7d..3ffdf23d 100644 --- a/runbot_merge/tests/test_basic.py +++ b/runbot_merge/tests/test_basic.py @@ -1683,12 +1683,17 @@ class TestReviewing(object): ('repository.name', '=', repo.name), ('number', '=', prx.number) ]).state == 'ready' + # second r+ to check warning + prx.post_comment('hansen r+', user='reviewer') env['runbot_merge.project']._send_feedback() assert prx.comments == [ (users['other'], 'hansen r+'), (users['reviewer'], 'hansen r+'), + (users['reviewer'], 'hansen r+'), (users['user'], "I'm sorry, @{}. I'm afraid I can't do that.".format(users['other'])), + (users['user'], "I'm sorry, @{}. This PR is already reviewed, reviewing it again is useless.".format( + users['reviewer'])), ] def test_self_review_fail(self, env, repo, users):