tests: cleanup tests, adds new test for updating close branch setting

This commit is contained in:
ievgenii vdovenko 2025-06-26 10:10:14 +02:00
parent d042ef20ac
commit 4f1abd8ffa

View file

@ -855,9 +855,7 @@ class TestPullrequestsView(object):
)
assert response.status_int == 403
def test_new_pull_request_view_close_branch_before_merging_setting_present_for_ee(
self, backend, pr_util, xhr_header, baseapp
):
def test_new_pull_request_view_close_branch_before_merging_setting_present_for_ee(self, backend, baseapp):
with temporary_settings(baseapp, **{"rhodecode.edition_id": "EE"}):
response = self.app.get(route_path("pullrequest_new", repo_name=backend.repo_name), status=200)
@ -867,17 +865,22 @@ class TestPullrequestsView(object):
@pytest.mark.parametrize(
"global_close_branch_before_merging_value",
[
(False,),
(True,),
False,
True,
],
)
def test_new_pull_request_view_close_branch_before_merging_setting_inherit_global_settings(
self, backend, pr_util, xhr_header, baseapp, global_close_branch_before_merging_value
self, backend, baseapp, global_close_branch_before_merging_value
):
def get_repo_settings_inherited(settings_key, default):
if settings_key == f"rhodecode_{backend.repo.repo_type}_close_branch_before_merging":
return global_close_branch_before_merging_value
return None
with temporary_settings(baseapp, **{"rhodecode.edition_id": "EE"}):
with patch.object(VcsSettingsModel, "get_repo_settings_inherited") as repo_settings_inherited:
settings_mock = MagicMock()
settings_mock.get.return_value = global_close_branch_before_merging_value
settings_mock.get.side_effect = get_repo_settings_inherited
repo_settings_inherited.return_value = settings_mock
response = self.app.get(route_path("pullrequest_new", repo_name=backend.repo_name), status=200)
@ -888,17 +891,44 @@ class TestPullrequestsView(object):
else:
assert_response.element_contain_no_attribute("#close_branch_before_merging", "checked")
def test_new_pull_request_view_close_branch_before_merging_setting_not_present_for_ce(
self, backend, pr_util, xhr_header
):
def test_new_pull_request_view_close_branch_before_merging_setting_not_present_for_ce(self, backend):
response = self.app.get(route_path("pullrequest_new", repo_name=backend.repo_name), status=200)
assert_response = response.assert_response()
assert_response.no_element_exists("#close_branch_before_merging")
def test_show_pull_request_view_close_branch_before_merging_setting_present_for_ee(
self, backend, pr_util, xhr_header, baseapp
@pytest.mark.parametrize(
"close_branch_before_merging",
[
True,
False,
],
)
def test_update_pull_request_view_close_branch_before_merging_setting(
self, backend, pr_util, csrf_token, close_branch_before_merging
):
pull_request = pr_util.create_pull_request(mergeable=True, enable_notifications=False)
pr_id = pull_request.pull_request_id
data = [
("close_branch_before_merging", close_branch_before_merging),
("csrf_token", csrf_token),
]
self.app.post(
route_path(
"pullrequest_update",
repo_name=pull_request.target_repo.scm_instance().name,
pull_request_id=pr_id,
),
data,
)
db_pr = PullRequest.get(pr_id)
assert db_pr.settings["close_branch_before_merging"] == close_branch_before_merging
def test_show_pull_request_view_close_branch_before_merging_setting_present_for_ee(self, backend, pr_util, baseapp):
with temporary_settings(baseapp, **{"rhodecode.edition_id": "EE"}):
pull_request = pr_util.create_pull_request(mergeable=True, enable_notifications=False)
@ -913,9 +943,7 @@ class TestPullrequestsView(object):
assert_response = response.assert_response()
assert_response.one_element_exists("#close_branch_before_merging")
def test_show_pull_request_view_close_branch_before_merging_setting_not_present_for_ce(
self, backend, pr_util, xhr_header
):
def test_show_pull_request_view_close_branch_before_merging_setting_not_present_for_ce(self, backend, pr_util):
pull_request = pr_util.create_pull_request(mergeable=True, enable_notifications=False)
response = self.app.get(