@@ -179,87 +179,9 @@ def test_form_add_team_member(
179
179
assert form .errors
180
180
181
181
182
- @pytest .mark .django_db
183
- @pytest .mark .parametrize ("remover_type" , TestUserTypes .options ())
184
- @pytest .mark .parametrize ("removed_type" , TestUserTypes .options ())
185
- @pytest .mark .parametrize ("remover_role" , TeamMemberRole .options () + [None ])
186
- @pytest .mark .parametrize ("removed_role" , TeamMemberRole .options () + [None ])
187
- def test_form_remove_team_member (
188
- remover_type : str , removed_type : str , remover_role : str , removed_role : str
189
- ) -> None :
190
- remover_type_valid_map = {
191
- TestUserTypes .no_user : False ,
192
- TestUserTypes .unauthenticated : False ,
193
- TestUserTypes .regular_user : True ,
194
- TestUserTypes .deactivated_user : False ,
195
- TestUserTypes .service_account : False ,
196
- TestUserTypes .site_admin : True ,
197
- TestUserTypes .superuser : True ,
198
- }
199
- removed_type_valid_map = {
200
- ** remover_type_valid_map ,
201
- ** {TestUserTypes .deactivated_user : True },
202
- }
203
- remover_role_valid_map = {
204
- None : False ,
205
- TeamMemberRole .member : False ,
206
- TeamMemberRole .owner : True ,
207
- }
208
- removed_role_valid_map = {
209
- None : False ,
210
- TeamMemberRole .member : True ,
211
- TeamMemberRole .owner : True ,
212
- }
213
- remover_valid = all (
214
- (
215
- remover_type_valid_map [remover_type ],
216
- remover_role_valid_map [remover_role ],
217
- )
218
- )
219
- removed_valid = all (
220
- (
221
- removed_type_valid_map [removed_type ],
222
- removed_role_valid_map [removed_role ],
223
- )
224
- )
225
-
226
- remover = TestUserTypes .get_user_by_type (remover_type )
227
- removed = TestUserTypes .get_user_by_type (removed_type )
228
- team = Team .create (name = "Test" )
229
-
230
- if remover is not None and remover .is_authenticated and remover_role is not None :
231
- TeamMember .objects .create (
232
- team = team ,
233
- user = remover ,
234
- role = remover_role ,
235
- )
236
-
237
- if removed is not None and removed .is_authenticated and removed_role is not None :
238
- membership = TeamMember .objects .create (
239
- team = team ,
240
- user = removed ,
241
- role = removed_role ,
242
- ).pk
243
- else :
244
- membership = None
245
-
246
- form = RemoveTeamMemberForm (
247
- user = remover ,
248
- data = {"membership" : membership },
249
- )
250
- should_be_valid = all ((remover_valid , removed_valid ))
251
- if should_be_valid :
252
- assert form .is_valid () is True
253
- assert form .save () is None
254
- assert TeamMember .objects .filter (pk = membership ).exists () is False
255
- else :
256
- assert form .is_valid () is False
257
- assert form .errors
258
-
259
-
260
182
@pytest .mark .django_db
261
183
@pytest .mark .parametrize ("role" , TeamMemberRole .options ())
262
- def test_form_remove_team_member_works_on_self (role : str ) -> None :
184
+ def test_form_remove_team_member_valid_membership_roles (role : str ) -> None :
263
185
user = UserFactory ()
264
186
team = Team .create (name = "Test" )
265
187
TeamMember .objects .create (
@@ -277,25 +199,6 @@ def test_form_remove_team_member_works_on_self(role: str) -> None:
277
199
data = {"membership" : membership .pk },
278
200
)
279
201
assert form .is_valid () is True
280
- assert form .save () is None
281
- assert TeamMember .objects .filter (pk = membership .pk ).exists () is False
282
-
283
-
284
- @pytest .mark .django_db
285
- def test_form_remove_team_member_last_owner () -> None :
286
- user = UserFactory ()
287
- team = Team .create (name = "Test" )
288
- last_owner = TeamMember .objects .create (
289
- user = user ,
290
- team = team ,
291
- role = TeamMemberRole .owner ,
292
- )
293
- form = RemoveTeamMemberForm (
294
- user = user ,
295
- data = {"membership" : last_owner .pk },
296
- )
297
- assert form .is_valid () is False
298
- assert "Cannot remove last owner from team" in str (repr (form .errors ))
299
202
300
203
301
204
@pytest .mark .django_db
0 commit comments