Skip to content

Commit d2873bd

Browse files
committed
add channel.hide|show methods
1 parent 4673bf3 commit d2873bd

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

stream_chat/channel.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,12 @@ def delete_file(self, url):
230230
def delete_image(self, url):
231231
return self.client.delete("{}/image".format(self.url), {"url": url})
232232

233+
def hide(self, user_id):
234+
return self.client.post("{}/hide".format(self.url), data={"user_id": user_id})
235+
236+
def show(self, user_id):
237+
return self.client.post("{}/show".format(self.url), data={"user_id": user_id})
238+
233239

234240
def add_user_id(payload, user_id):
235241
payload = payload.copy()

stream_chat/tests/test_channel.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,32 @@ def test_send_and_delete_image(self, channel, random_user):
132132
resp = channel.send_image(url, "logo.png", random_user, content_type="image/png")
133133
assert "logo.png" in resp['file']
134134
# resp = channel.delete_image(resp['file'])
135+
136+
def test_channel_hide_show(self, client, channel, random_users):
137+
# setup
138+
channel.add_members([u['id'] for u in random_users])
139+
# verify
140+
response = client.query_channels({"id": channel.id})
141+
assert len(response['channels']) == 1
142+
response = client.query_channels({"id": channel.id}, user_id=random_users[0]['id'])
143+
assert len(response['channels']) == 1
144+
# hide
145+
channel.hide(random_users[0]['id'])
146+
response = client.query_channels({"id": channel.id}, user_id=random_users[0]['id'])
147+
assert len(response['channels']) == 0
148+
# search hidden channels
149+
response = client.query_channels({"id": channel.id, "hidden": True}, user_id=random_users[0]['id'])
150+
assert len(response['channels']) == 1
151+
# unhide
152+
channel.show(random_users[0]['id'])
153+
response = client.query_channels({"id": channel.id}, user_id=random_users[0]['id'])
154+
assert len(response['channels']) == 1
155+
# hide again
156+
channel.hide(random_users[0]['id'])
157+
response = client.query_channels({"id": channel.id}, user_id=random_users[0]['id'])
158+
assert len(response['channels']) == 0
159+
# send message
160+
msg = channel.send_message({"text": "hi"}, random_users[1]["id"])
161+
# channel should be listed now
162+
response = client.query_channels({"id": channel.id}, user_id=random_users[0]['id'])
163+
assert len(response['channels']) == 1

0 commit comments

Comments
 (0)