|
| 1 | +import uuid |
| 2 | + |
1 | 3 | import pytest |
2 | 4 |
|
| 5 | +from stream_chat.exceptions import StreamAPIException |
| 6 | + |
3 | 7 |
|
4 | 8 | @pytest.mark.incremental |
5 | 9 | class TestChannel(object): |
@@ -157,7 +161,37 @@ def test_channel_hide_show(self, client, channel, random_users): |
157 | 161 | response = client.query_channels({"id": channel.id}, user_id=random_users[0]['id']) |
158 | 162 | assert len(response['channels']) == 0 |
159 | 163 | # send message |
160 | | - msg = channel.send_message({"text": "hi"}, random_users[1]["id"]) |
| 164 | + channel.send_message({"text": "hi"}, random_users[1]["id"]) |
161 | 165 | # channel should be listed now |
162 | 166 | response = client.query_channels({"id": channel.id}, user_id=random_users[0]['id']) |
163 | 167 | assert len(response['channels']) == 1 |
| 168 | + |
| 169 | + def test_invites(self, client, channel): |
| 170 | + members = ["john", "paul", "george", "pete", "ringo", "eric"] |
| 171 | + client.update_users([{"id": m} for m in members]) |
| 172 | + channel = client.channel( |
| 173 | + "team", "beatles-" + str(uuid.uuid4()), { |
| 174 | + "members": members, |
| 175 | + "invites": ["ringo", "eric"] |
| 176 | + }) |
| 177 | + channel.create("john") |
| 178 | + # accept the invite when not a member |
| 179 | + with pytest.raises(StreamAPIException): |
| 180 | + accept = channel.accept_invite("brian") |
| 181 | + # accept the invite when a member |
| 182 | + accept = channel.accept_invite("ringo") |
| 183 | + for m in accept['members']: |
| 184 | + if m['user_id'] == 'ringo': |
| 185 | + assert m['invited'] is True |
| 186 | + assert "invite_accepted_at" in m |
| 187 | + # cannot accept again |
| 188 | + with pytest.raises(StreamAPIException): |
| 189 | + _ = channel.accept_invite("ringo") |
| 190 | + reject = channel.reject_invite("eric") |
| 191 | + for m in reject['members']: |
| 192 | + if m['user_id'] == 'eric': |
| 193 | + assert m['invited'] is True |
| 194 | + assert "invite_rejected_at" in m |
| 195 | + # cannot accept again |
| 196 | + with pytest.raises(StreamAPIException): |
| 197 | + reject = channel.reject_invite("eric") |
0 commit comments