@@ -409,11 +409,11 @@ func TestGrantRoles(t *testing.T) {
409
409
t .Run ("UpdateIncorrectRoles" ,func (t * testing.T ) {
410
410
t .Parallel ()
411
411
ctx := context .Background ()
412
+ var err error
413
+
412
414
admin := coderdtest .New (t ,nil )
413
415
first := coderdtest .CreateFirstUser (t ,admin )
414
416
member := coderdtest .CreateAnotherUser (t ,admin ,first .OrganizationID )
415
- memberUser ,err := member .User (ctx ,codersdk .Me )
416
- require .NoError (t ,err ,"member user" )
417
417
418
418
_ ,err = admin .UpdateUserRoles (ctx ,codersdk .Me , codersdk.UpdateRoles {
419
419
Roles : []string {rbac .RoleOrgMember (first .OrganizationID )},
@@ -445,7 +445,7 @@ func TestGrantRoles(t *testing.T) {
445
445
require .Error (t ,err ,"member cannot change other's roles" )
446
446
requireStatusCode (t ,err ,http .StatusForbidden )
447
447
448
- _ ,err = member .UpdateUserRoles (ctx ,memberUser . ID .String (), codersdk.UpdateRoles {
448
+ _ ,err = member .UpdateUserRoles (ctx ,first . UserID .String (), codersdk.UpdateRoles {
449
449
Roles : []string {rbac .RoleMember ()},
450
450
})
451
451
require .Error (t ,err ,"member cannot change any roles" )
@@ -456,6 +456,18 @@ func TestGrantRoles(t *testing.T) {
456
456
})
457
457
require .Error (t ,err ,"member cannot change other's org roles" )
458
458
requireStatusCode (t ,err ,http .StatusForbidden )
459
+
460
+ _ ,err = admin .UpdateUserRoles (ctx ,first .UserID .String (), codersdk.UpdateRoles {
461
+ Roles : []string {},
462
+ })
463
+ require .Error (t ,err ,"admin cannot change self roles" )
464
+ requireStatusCode (t ,err ,http .StatusBadRequest )
465
+
466
+ _ ,err = admin .UpdateOrganizationMemberRoles (ctx ,first .OrganizationID ,first .UserID .String (), codersdk.UpdateRoles {
467
+ Roles : []string {},
468
+ })
469
+ require .Error (t ,err ,"admin cannot change self org roles" )
470
+ requireStatusCode (t ,err ,http .StatusBadRequest )
459
471
})
460
472
461
473
t .Run ("FirstUserRoles" ,func (t * testing.T ) {
@@ -508,7 +520,7 @@ func TestGrantRoles(t *testing.T) {
508
520
require .NoError (t ,err ,"grant member admin role" )
509
521
510
522
// Promote to org admin
511
- _ ,err = member .UpdateOrganizationMemberRoles (ctx ,first .OrganizationID ,codersdk . Me , codersdk.UpdateRoles {
523
+ _ ,err = admin .UpdateOrganizationMemberRoles (ctx ,first .OrganizationID ,memberUser . ID . String () , codersdk.UpdateRoles {
512
524
Roles : []string {
513
525
// Promote to org admin
514
526
rbac .RoleOrgMember (first .OrganizationID ),