Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8cbfed1

Browse files
committed
chore: add unit test for show
1 parent 0ca6d4e commit 8cbfed1

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

enterprise/cli/rolescmd_test.go

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package cli_test
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/require"
7+
8+
"github.com/coder/coder/v2/cli/clitest"
9+
"github.com/coder/coder/v2/coderd/coderdtest"
10+
"github.com/coder/coder/v2/coderd/rbac"
11+
"github.com/coder/coder/v2/codersdk"
12+
"github.com/coder/coder/v2/enterprise/coderd/coderdenttest"
13+
"github.com/coder/coder/v2/enterprise/coderd/license"
14+
"github.com/coder/coder/v2/pty/ptytest"
15+
"github.com/coder/coder/v2/testutil"
16+
)
17+
18+
func TestShowRoles(t *testing.T) {
19+
t.Run("OK", func(t *testing.T) {
20+
t.Parallel()
21+
22+
dv := coderdtest.DeploymentValues(t)
23+
dv.Experiments = []string{string(codersdk.ExperimentCustomRoles)}
24+
owner, admin := coderdenttest.New(t, &coderdenttest.Options{
25+
Options: &coderdtest.Options{
26+
DeploymentValues: dv,
27+
},
28+
LicenseOptions: &coderdenttest.LicenseOptions{
29+
Features: license.Features{
30+
codersdk.FeatureCustomRoles: 1,
31+
},
32+
}})
33+
34+
// Requires an owner
35+
client, _ := coderdtest.CreateAnotherUser(t, owner, admin.OrganizationID, rbac.RoleOwner())
36+
37+
const expectedRole = "test-role"
38+
ctx := testutil.Context(t, testutil.WaitMedium)
39+
_, err := client.PatchRole(ctx, codersdk.Role{
40+
Name: expectedRole,
41+
DisplayName: "Test Role",
42+
SitePermissions: codersdk.CreatePermissions(map[codersdk.RBACResource][]codersdk.RBACAction{
43+
codersdk.ResourceWorkspace: {codersdk.ActionRead, codersdk.ActionUpdate},
44+
}),
45+
})
46+
require.NoError(t, err, "create role")
47+
48+
inv, conf := newCLI(t, "roles", "show", "test-role")
49+
50+
pty := ptytest.New(t)
51+
inv.Stdout = pty.Output()
52+
clitest.SetupConfig(t, client, conf)
53+
54+
err = inv.Run()
55+
require.NoError(t, err)
56+
57+
matches := []string{
58+
"test-role", "2 permissions",
59+
}
60+
61+
for _, match := range matches {
62+
pty.ExpectMatch(match)
63+
}
64+
})
65+
}

0 commit comments

Comments
 (0)