@@ -3295,3 +3295,47 @@ func TestDefaultAccountManager_IsCacheCold(t *testing.T) {
3295
3295
})
3296
3296
})
3297
3297
}
3298
+
3299
+ func TestDefaultAccountManager_AddNewUserToDomainAccount (t * testing.T ) {
3300
+ testCases := []struct {
3301
+ name string
3302
+ userAuth nbcontext.UserAuth
3303
+ expectedRole types.UserRole
3304
+ }{
3305
+ {
3306
+ name : "existing user" ,
3307
+ userAuth : nbcontext.UserAuth {
3308
+ Domain : "example.com" ,
3309
+ UserId : "user1" ,
3310
+ },
3311
+ expectedRole : types .UserRoleOwner ,
3312
+ },
3313
+ {
3314
+ name : "new user" ,
3315
+ userAuth : nbcontext.UserAuth {
3316
+ Domain : "example.com" ,
3317
+ UserId : "user2" ,
3318
+ },
3319
+ expectedRole : types .UserRoleUser ,
3320
+ },
3321
+ }
3322
+
3323
+ manager , err := createManager (t )
3324
+ require .NoError (t , err )
3325
+
3326
+ accountID , err := manager .GetAccountIDByUserID (context .Background (), "user1" , "example.com" )
3327
+ require .NoError (t , err , "create init user failed" )
3328
+
3329
+ for _ , tc := range testCases {
3330
+ t .Run (tc .name , func (t * testing.T ) {
3331
+ userAccountID , err := manager .addNewUserToDomainAccount (context .Background (), accountID , tc .userAuth )
3332
+ require .NoError (t , err )
3333
+ assert .Equal (t , accountID , userAccountID )
3334
+
3335
+ user , err := manager .Store .GetUserByUserID (context .Background (), store .LockingStrengthShare , tc .userAuth .UserId )
3336
+ require .NoError (t , err )
3337
+ assert .Equal (t , accountID , user .AccountID )
3338
+ assert .Equal (t , tc .expectedRole , user .Role )
3339
+ })
3340
+ }
3341
+ }
0 commit comments