Skip to content

Commit 24022c8

Browse files
committed
test: confirm set_status context accepts arguments
1 parent 9ea3389 commit 24022c8

File tree

2 files changed

+83
-0
lines changed

2 files changed

+83
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import pytest
2+
from slack_sdk import WebClient
3+
from slack_sdk.web import SlackResponse
4+
5+
from slack_bolt.context.set_status import SetStatus
6+
from tests.mock_web_api_server import cleanup_mock_web_api_server, setup_mock_web_api_server
7+
8+
9+
class TestSetStatus:
10+
def setup_method(self):
11+
setup_mock_web_api_server(self)
12+
valid_token = "xoxb-valid"
13+
mock_api_server_base_url = "http://localhost:8888"
14+
self.web_client = WebClient(token=valid_token, base_url=mock_api_server_base_url)
15+
16+
def teardown_method(self):
17+
cleanup_mock_web_api_server(self)
18+
19+
def test_set_status(self):
20+
set_status = SetStatus(client=self.web_client, channel_id="C111", thread_ts="123.123")
21+
response: SlackResponse = set_status("Thinking...")
22+
assert response.status_code == 200
23+
24+
def test_set_status_loading_messages(self):
25+
set_status = SetStatus(client=self.web_client, channel_id="C111", thread_ts="123.123")
26+
response: SlackResponse = set_status(
27+
status="Thinking...",
28+
loading_messages=[
29+
"Sitting...",
30+
"Waiting...",
31+
],
32+
)
33+
assert response.status_code == 200
34+
35+
def test_set_status_invalid(self):
36+
set_status = SetStatus(client=self.web_client, channel_id="C111", thread_ts="123.123")
37+
with pytest.raises(TypeError):
38+
set_status()
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import pytest
2+
from slack_sdk.web.async_client import AsyncWebClient
3+
from slack_sdk.web.async_slack_response import AsyncSlackResponse
4+
5+
from slack_bolt.context.set_status.async_set_status import AsyncSetStatus
6+
from tests.mock_web_api_server import cleanup_mock_web_api_server_async, setup_mock_web_api_server_async
7+
from tests.utils import get_event_loop
8+
9+
10+
class TestAsyncSetStatus:
11+
@pytest.fixture
12+
def event_loop(self):
13+
setup_mock_web_api_server_async(self)
14+
valid_token = "xoxb-valid"
15+
mock_api_server_base_url = "http://localhost:8888"
16+
self.web_client = AsyncWebClient(token=valid_token, base_url=mock_api_server_base_url)
17+
18+
loop = get_event_loop()
19+
yield loop
20+
loop.close()
21+
cleanup_mock_web_api_server_async(self)
22+
23+
@pytest.mark.asyncio
24+
async def test_set_status(self):
25+
set_status = AsyncSetStatus(client=self.web_client, channel_id="C111", thread_ts="123.123")
26+
response: AsyncSlackResponse = await set_status("Thinking...")
27+
assert response.status_code == 200
28+
29+
@pytest.mark.asyncio
30+
async def test_set_status_loading_messages(self):
31+
set_status = AsyncSetStatus(client=self.web_client, channel_id="C111", thread_ts="123.123")
32+
response: AsyncSlackResponse = await set_status(
33+
status="Thinking...",
34+
loading_messages=[
35+
"Sitting...",
36+
"Waiting...",
37+
],
38+
)
39+
assert response.status_code == 200
40+
41+
@pytest.mark.asyncio
42+
async def test_set_status_invalid(self):
43+
set_status = AsyncSetStatus(client=self.web_client, channel_id="C111", thread_ts="123.123")
44+
with pytest.raises(TypeError):
45+
await set_status()

0 commit comments

Comments
 (0)