Skip to content

Commit 981a2db

Browse files
committed
Fix: Memberships tests
Moderators can only be added to moderated (isLocked=True) rooms.
1 parent 3b95242 commit 981a2db

File tree

2 files changed

+26
-36
lines changed

2 files changed

+26
-36
lines changed

tests/api/test_memberships.py

Lines changed: 14 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -62,25 +62,20 @@ def my_group_room_membership(api, group_room, me):
6262

6363

6464
@pytest.fixture(scope="session")
65-
def group_room_moderator(api, my_group_room_membership):
66-
if my_group_room_membership.isModerator:
67-
return True
68-
else:
69-
updated_membership = api.memberships.update(
70-
membershipId=my_group_room_membership.id,
71-
isModerator=True,
72-
)
65+
def my_moderated_group_room_membership(api, moderated_group_room, me):
66+
memberships = list(
67+
api.memberships.list(roomId=moderated_group_room.id, personId=me.id)
68+
)
7369

74-
if updated_membership.isModerator:
75-
return True
70+
assert len(memberships) == 1
71+
membership = memberships[0]
72+
assert membership.isModerator
7673

77-
pytest.fail("Unable to make test account a Room Moderator")
74+
return membership
7875

7976

8077
@pytest.fixture(scope="session")
81-
def membership_person_added_by_email(
82-
api, group_room, test_people, group_room_moderator
83-
):
78+
def membership_person_added_by_email(api, group_room, test_people):
8479
person = test_people["member_added_by_email"]
8580
membership = api.memberships.create(
8681
roomId=group_room.id,
@@ -93,9 +88,7 @@ def membership_person_added_by_email(
9388

9489

9590
@pytest.fixture(scope="session")
96-
def membership_person_added_by_id(
97-
api, group_room, test_people, group_room_moderator
98-
):
91+
def membership_person_added_by_id(api, group_room, test_people):
9992
person = test_people["member_added_by_id"]
10093
membership = api.memberships.create(
10194
roomId=group_room.id,
@@ -109,11 +102,11 @@ def membership_person_added_by_id(
109102

110103
@pytest.fixture(scope="session")
111104
def membership_moderator_added_by_email(
112-
api, group_room, test_people, group_room_moderator
105+
api, moderated_group_room, test_people
113106
):
114107
person = test_people["moderator_added_by_email"]
115108
membership = api.memberships.create(
116-
roomId=group_room.id,
109+
roomId=moderated_group_room.id,
117110
personEmail=person.emails[0],
118111
isModerator=True,
119112
)
@@ -124,12 +117,10 @@ def membership_moderator_added_by_email(
124117

125118

126119
@pytest.fixture(scope="session")
127-
def membership_moderator_added_by_id(
128-
api, group_room, test_people, group_room_moderator
129-
):
120+
def membership_moderator_added_by_id(api, moderated_group_room, test_people):
130121
person = test_people["moderator_added_by_id"]
131122
membership = api.memberships.create(
132-
roomId=group_room.id,
123+
roomId=moderated_group_room.id,
133124
personId=person.id,
134125
isModerator=True,
135126
)
@@ -143,14 +134,10 @@ def membership_moderator_added_by_id(
143134
def additional_group_room_memberships(
144135
membership_person_added_by_email,
145136
membership_person_added_by_id,
146-
membership_moderator_added_by_email,
147-
membership_moderator_added_by_id,
148137
):
149138
return [
150139
membership_person_added_by_email,
151140
membership_person_added_by_id,
152-
membership_moderator_added_by_email,
153-
membership_moderator_added_by_id,
154141
]
155142

156143

@@ -179,7 +166,6 @@ def test_list_memberships_with_paging(api, add_rooms, my_memberships):
179166
assert are_valid_memberships(memberships_list)
180167

181168

182-
@pytest.mark.xfail # TODO: Resolve test account issues
183169
def test_filter_room_memberships_by_person_email(
184170
api, test_people, group_room_with_members
185171
):
@@ -196,7 +182,6 @@ def test_filter_room_memberships_by_person_email(
196182
assert membership.roomId == group_room_with_members.id
197183

198184

199-
@pytest.mark.xfail # TODO: Resolve test account issues
200185
def test_filter_room_memberships_by_person_id(
201186
api, test_people, group_room_with_members
202187
):
@@ -213,41 +198,34 @@ def test_filter_room_memberships_by_person_id(
213198
assert membership.roomId == group_room_with_members.id
214199

215200

216-
@pytest.mark.xfail # TODO: Resolve test account issues
217201
def test_list_room_memberships(api, group_room_with_members):
218202
memberships = list(api.memberships.list(group_room_with_members.id))
219203
assert len(memberships) > 1
220204
assert are_valid_memberships(memberships)
221205

222206

223-
@pytest.mark.xfail # TODO: Resolve test account issues
224207
def test_create_membership_by_email(membership_person_added_by_email):
225208
assert is_valid_membership(membership_person_added_by_email)
226209

227210

228-
@pytest.mark.xfail # TODO: Resolve test account issues
229211
def test_create_membership_by_person_id(membership_person_added_by_id):
230212
assert is_valid_membership(membership_person_added_by_id)
231213

232214

233-
@pytest.mark.xfail # TODO: Resolve test account issues
234215
def test_create_moderator_by_email(membership_moderator_added_by_email):
235216
assert is_valid_membership(membership_moderator_added_by_email)
236217

237218

238-
@pytest.mark.xfail # TODO: Resolve test account issues
239219
def test_create_moderator_by_person_id(membership_moderator_added_by_id):
240220
assert is_valid_membership(membership_moderator_added_by_id)
241221

242222

243-
@pytest.mark.xfail # TODO: Resolve test account issues
244223
def test_get_membership_details(api, membership_person_added_by_id):
245224
membership_id = membership_person_added_by_id.id
246225
details = api.memberships.get(membership_id)
247226
assert is_valid_membership(details)
248227

249228

250-
@pytest.mark.xfail # TODO: Resolve test account issues
251229
def test_update_membership_make_moderator(api, membership_person_added_by_id):
252230
assert not membership_person_added_by_id.isModerator
253231
updated_membership = api.memberships.update(

tests/api/test_rooms.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,18 @@ def group_room(api):
6060
api.rooms.delete(room.id)
6161

6262

63+
@pytest.fixture(scope="session")
64+
def moderated_group_room(api):
65+
room = api.rooms.create(
66+
title=create_string("Moderated Group Room"),
67+
isLocked=True,
68+
)
69+
70+
yield room
71+
72+
api.rooms.delete(room.id)
73+
74+
6375
@pytest.fixture(scope="session")
6476
def direct_rooms(api, direct_messages):
6577
return [api.rooms.get(message.roomId) for message in direct_messages]

0 commit comments

Comments
 (0)