MCPcopy Create free account
hub / github.com/coder/coder / TestUserEditRoles

Function TestUserEditRoles

cli/usereditroles_test.go:18–62  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

16var roles = []string{"auditor", "user-admin"}
17
18func TestUserEditRoles(t *testing.T) {
19 t.Parallel()
20
21 t.Run("UpdateUserRoles", func(t *testing.T) {
22 t.Parallel()
23
24 client := coderdtest.New(t, nil)
25 owner := coderdtest.CreateFirstUser(t, client)
26 userAdmin, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleOwner())
27 _, member := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleMember())
28
29 inv, root := clitest.New(t, "users", "edit-roles", member.Username, fmt.Sprintf("--roles=%s", strings.Join(roles, ",")))
30 clitest.SetupConfig(t, userAdmin, root)
31
32 // Create context with timeout
33 ctx := testutil.Context(t, testutil.WaitShort)
34
35 err := inv.WithContext(ctx).Run()
36 require.NoError(t, err)
37
38 memberRoles, err := client.UserRoles(ctx, member.Username)
39 require.NoError(t, err)
40
41 require.ElementsMatch(t, memberRoles.Roles, roles)
42 })
43
44 t.Run("UserNotFound", func(t *testing.T) {
45 t.Parallel()
46
47 client := coderdtest.New(t, nil)
48 owner := coderdtest.CreateFirstUser(t, client)
49 userAdmin, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleUserAdmin())
50
51 // Setup command with non-existent user
52 inv, root := clitest.New(t, "users", "edit-roles", "nonexistentuser")
53 clitest.SetupConfig(t, userAdmin, root)
54
55 // Create context with timeout
56 ctx := testutil.Context(t, testutil.WaitShort)
57
58 err := inv.WithContext(ctx).Run()
59 require.Error(t, err)
60 require.Contains(t, err.Error(), "fetch user")
61 })
62}

Callers

nothing calls this directly

Calls 14

NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
RoleOwnerFunction · 0.92
RoleMemberFunction · 0.92
NewFunction · 0.92
SetupConfigFunction · 0.92
ContextFunction · 0.92
RoleUserAdminFunction · 0.92
WithContextMethod · 0.80
UserRolesMethod · 0.80
RunMethod · 0.65

Tested by

no test coverage detected