@@ -223,6 +223,42 @@ def test_update_group(self) -> None:
223223 groups = self .api .get_groups (group_id = SAMPLE_GROUP_ID )
224224 assert groups [0 ]["information" ]["note" ] == ""
225225
226+ def test_update_group_member (self ) -> None :
227+ """Checks that a field of a group member can be set.
228+
229+ to some value and the returned group member has this field value set.
230+ Also cleans the field after executing the test
231+
232+ IMPORTANT - This test method and the parameters used depend on target system!
233+ the hard coded sample exists on ELKW1610.KRZ.TOOLS
234+ """
235+ SAMPLE_GROUP_ID = 103
236+ SAMPLE_MEMBER_ID = 513
237+
238+ # check comment is empty as prerequisite
239+ pre_test_user_state = self .api .get_group_members (
240+ group_id = SAMPLE_GROUP_ID , person_ids = [SAMPLE_MEMBER_ID ]
241+ )[0 ]
242+ assert pre_test_user_state .get ("comment" ) is None
243+
244+ # set a new sample comment
245+ data = {"comment" : "Updated Over API" }
246+ group_member_update_result = self .api .update_group_member (
247+ group_id = SAMPLE_GROUP_ID , person_id = SAMPLE_MEMBER_ID , data = data
248+ )
249+ assert group_member_update_result ["comment" ] == data ["comment" ]
250+
251+ # cleanup / delete comment after test
252+ group_member_update_result = self .api .update_group_member (
253+ group_id = SAMPLE_GROUP_ID ,
254+ person_id = SAMPLE_MEMBER_ID ,
255+ data = {"comment" : None },
256+ )
257+ members = self .api .get_group_members (
258+ group_id = SAMPLE_GROUP_ID , person_ids = [SAMPLE_MEMBER_ID ]
259+ )
260+ assert members [0 ]["comment" ] is None
261+
226262 def test_get_group_members (self ) -> None :
227263 """Checks if group members can be retrieved.
228264
@@ -233,13 +269,16 @@ def test_get_group_members(self) -> None:
233269 """
234270 SAMPLE_GROUP_ID = 103
235271 SAMPLE_GROUPTYPE_ROLE_ID = 16
236- members = self . api . get_group_members ( group_id = SAMPLE_GROUP_ID )
272+ SAMPLE_USER_ID = 513
237273
274+ # 1. retrieve all group member by group_id
275+ members = self .api .get_group_members (group_id = SAMPLE_GROUP_ID )
238276 assert members is not None
239277 assert members != []
240278 for member in members :
241279 assert "personId" in member
242280
281+ # 2. retrieve group members by role
243282 members = self .api .get_group_members (
244283 group_id = SAMPLE_GROUP_ID ,
245284 role_ids = [SAMPLE_GROUPTYPE_ROLE_ID ],
@@ -250,10 +289,35 @@ def test_get_group_members(self) -> None:
250289 assert "personId" in member
251290 assert member ["groupTypeRoleId" ] == SAMPLE_GROUPTYPE_ROLE_ID
252291
292+ # 3. retrieve group members by person_id
293+ members = self .api .get_group_members (
294+ group_id = SAMPLE_GROUP_ID ,
295+ person_ids = [SAMPLE_USER_ID ],
296+ )
297+ assert members is not None
298+ assert members != []
299+ assert len (members ) == 1
300+ assert members [0 ]["personId" ] == SAMPLE_USER_ID
301+
302+ def test_get_group_memberfields (self ) -> None :
303+ """Checks if group member fields can be retrieved from a group.
304+
305+ IMPORTANT - This test method and the parameters used depend on target system!
306+ the hard coded sample exists on ELKW1610.KRZ.TOOLS
307+ """
308+ SAMPLE_GROUP_ID = 103
309+ memberfields = self .api .get_group_memberfields (group_id = SAMPLE_GROUP_ID )
310+
311+ assert memberfields is not None
312+ assert memberfields != []
313+ for memberfield in memberfields :
314+ assert "type" in memberfield
315+ assert "id" in memberfield ["field" ]
316+
253317 def test_get_groups_members (self ) -> None :
254318 """Check that a list of groups is received.
255319
256- when asking by person and optional role id.
320+ when requesting by person and optional role id.
257321
258322 IMPORTANT - This test method and the parameters used depend on target system!
259323 the hard coded sample exists on ELKW1610.KRZ.TOOLS
0 commit comments