@@ -212,6 +212,28 @@ func TestClient_UpsertUsers(t *testing.T) {
212
212
assert .NotEmpty (t , resp .Users [user .ID ].UpdatedAt )
213
213
}
214
214
215
+ func TestClient_UpsertUsersWithRoleAndTeamsRole (t * testing.T ) {
216
+ c := initClient (t )
217
+ ctx := context .Background ()
218
+
219
+ user := & User {
220
+ ID : randomString (10 ),
221
+ Role : "admin" ,
222
+ Teams : []string {"blue" },
223
+ TeamsRole : map [string ]string {"blue" : "admin" },
224
+ }
225
+
226
+ resp , err := c .UpsertUsers (ctx , user )
227
+ require .NoError (t , err , "update users with role and teams_role" )
228
+
229
+ assert .Contains (t , resp .Users , user .ID )
230
+ assert .Equal (t , "admin" , resp .Users [user .ID ].Role )
231
+ assert .Equal (t , []string {"blue" }, resp .Users [user .ID ].Teams )
232
+ assert .Equal (t , map [string ]string {"blue" : "admin" }, resp .Users [user .ID ].TeamsRole )
233
+ assert .NotEmpty (t , resp .Users [user .ID ].CreatedAt )
234
+ assert .NotEmpty (t , resp .Users [user .ID ].UpdatedAt )
235
+ }
236
+
215
237
func TestClient_UpdatePrivacySettings (t * testing.T ) {
216
238
c := initClient (t )
217
239
ctx := context .Background ()
@@ -337,6 +359,34 @@ func TestClient_PartialUpdatePrivacySettings(t *testing.T) {
337
359
require .False (t , partialUpdateResponse .Users [user .ID ].PrivacySettings .ReadReceipts .Enabled )
338
360
}
339
361
362
+ func TestClient_PartialUpdateUserWithTeam (t * testing.T ) {
363
+ c := initClient (t )
364
+ ctx := context .Background ()
365
+
366
+ // First create a basic user
367
+ user := & User {ID : randomString (10 )}
368
+ upsertResp , err := c .UpsertUser (ctx , user )
369
+ require .NoError (t , err , "create user" )
370
+ assert .Equal (t , upsertResp .User .ID , user .ID )
371
+
372
+ // Partially update the user with team and teams_role
373
+ update := PartialUserUpdate {
374
+ ID : user .ID ,
375
+ Set : map [string ]interface {}{
376
+ "teams" : []string {"blue" },
377
+ "teams_role" : map [string ]string {"blue" : "admin" },
378
+ },
379
+ }
380
+
381
+ partialResp , err := c .PartialUpdateUsers (ctx , []PartialUserUpdate {update })
382
+ require .NoError (t , err , "partial update user with team" )
383
+
384
+ // Verify the changes
385
+ assert .Contains (t , partialResp .Users , user .ID )
386
+ assert .Equal (t , []string {"blue" }, partialResp .Users [user .ID ].Teams )
387
+ assert .Equal (t , map [string ]string {"blue" : "admin" }, partialResp .Users [user .ID ].TeamsRole )
388
+ }
389
+
340
390
func ExampleClient_UpsertUser () {
341
391
client , _ := NewClient ("XXXX" , "XXXX" )
342
392
ctx := context .Background ()
0 commit comments