From ccba66d025dcf4bca2e2e3f5c6c764000058baf0 Mon Sep 17 00:00:00 2001 From: Andrii V Date: Fri, 4 Jul 2025 12:12:39 +0200 Subject: [PATCH] tests: added unit tests --- rhodecode/tests/integrations/test_slack.py | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/rhodecode/tests/integrations/test_slack.py b/rhodecode/tests/integrations/test_slack.py index 7e2babee..2740f25e 100644 --- a/rhodecode/tests/integrations/test_slack.py +++ b/rhodecode/tests/integrations/test_slack.py @@ -151,3 +151,46 @@ def test_slack_data_handler_wrong_event(): def test_slack_data_handler(app, event_type: events.RhodecodeEvent, args, base_slack_data): handler = SlackDataHandler() handler(event_type(*args), base_slack_data) + + +def test_slack_pull_request_branch_info_display(app, base_slack_data): + """Test that branch information is correctly displayed in slack notifications""" + handler = SlackDataHandler() + + mock_pr = mock.MagicMock() + mock_pr.source_ref_parts.name = "feature/login-improvements" + mock_pr.target_ref_parts.name = "main" + + mock_event = mock.MagicMock() + mock_event.__class__ = events.PullRequestCreateEvent + mock_event.pullrequest = mock_pr + + slack_data = SlackData(title="default", text="default") + + result = handler.format_pull_request_event(mock_event, base_slack_data, slack_data) + assert "feature/login-improvements → main" in result.text + + +def test_slack_pull_request_different_actions(app, base_slack_data): + handler = SlackDataHandler() + + mock_pr = mock.MagicMock() + mock_pr.source_ref_parts.name = "bugfix/JIRA-456" + mock_pr.target_ref_parts.name = "develop" + + slack_data = SlackData(title="default", text="default") + branch_info = "bugfix/JIRA-456 → develop" + + # Test different PR event types + for event_class in [ + events.PullRequestCreateEvent, + events.PullRequestUpdateEvent, + events.PullRequestMergeEvent, + events.PullRequestCloseEvent, + ]: + mock_event = mock.MagicMock() + mock_event.__class__ = event_class + mock_event.pullrequest = mock_pr + + result = handler.format_pull_request_event(mock_event, base_slack_data, slack_data) + assert branch_info in result.text, f"Branch info missing for {event_class.__name__}"