Coverage for app/backend/src/tests/test_slack.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.16.2, created at 2026-09-28 17:55 +0000

1from unittest.mock import patch 

2 

3from couchers.config import config 

4from couchers.slack import send_slack_message 

5 

6 

7def test_send_slack_message_disabled(): 

8 with patch("couchers.slack.requests.post") as mock_post: 

9 send_slack_message("test-channel", "Test message") 

10 mock_post.assert_not_called() 

11 

12 

13def test_send_slack_message_enabled(): 

14 config.SLACK_ENABLED = True 

15 config.SLACK_BOT_TOKEN = "xoxb-test-token" 

16 

17 with patch("couchers.slack.requests.post") as mock_post: 

18 mock_post.return_value.raise_for_status.return_value = None 

19 mock_post.return_value.json.return_value = {"ok": True} 

20 send_slack_message("test-channel", "Test message") 

21 mock_post.assert_called_once_with( 

22 "https://slack.com/api/chat.postMessage", 

23 headers={"Authorization": "Bearer xoxb-test-token"}, 

24 json={"channel": "test-channel", "markdown_text": "Test message"}, 

25 timeout=10, 

26 )