From 19e74674ec41c19b21da9671d45167e427a349a7 Mon Sep 17 00:00:00 2001 From: Lubomír Sedlář Date: Apr 26 2018 08:43:07 +0000 Subject: Add tests for deleting branch after merge Two scenarios are tested: * branch successfully deleted after merge * merge rejected by conflict does not delete branch --- diff --git a/tests/test_pagure_flask_ui_fork.py b/tests/test_pagure_flask_ui_fork.py index 08d8265..41f9d32 100644 --- a/tests/test_pagure_flask_ui_fork.py +++ b/tests/test_pagure_flask_ui_fork.py @@ -482,6 +482,38 @@ class PagureFlaskForktests(tests.Modeltests): output.data) @patch('pagure.lib.notify.send_email') + def test_merge_request_pull_merge_with_delete_branch(self, send_email): + """ Test the merge_request_pull endpoint with a merge PR and delete source branch. """ + send_email.return_value = True + + tests.create_projects(self.session) + tests.create_projects_git( + os.path.join(self.path, 'requests'), bare=True) + self.set_up_git_repo( + new_project=None, branch_from='feature-branch', mtype='merge') + + user = tests.FakeUser() + user.username = 'pingou' + with tests.user_set(self.app.application, user): + output = self.app.get('/test/pull-request/1') + self.assertEqual(output.status_code, 200) + + data = { + 'csrf_token': self.get_csrf(output=output), + 'delete_branch': True, + } + + # Merge + output = self.app.post( + '/test/pull-request/1/merge', data=data, follow_redirects=True) + self.assertEqual(output.status_code, 200) + self.assertIn( + 'Overview - test - Pagure', output.data) + # Check the branch is not mentioned + self.assertNotIn( + 'PR#1\n' + ' PR from the feature-branch branch\n ', + output.data) + self.assertIn('Merge conflicts!', output.data) + + # Check the branch still exists + output = self.app.get('/test') + self.assertIn('feature-branch', output.data) + + @patch('pagure.lib.notify.send_email') def test_merge_request_pull_nochange(self, send_email): """ Test the merge_request_pull endpoint. """ send_email.return_value = True