@@ -15,6 +15,64 @@ import (
15
15
"github.com/coder/coder/v2/testutil"
16
16
)
17
17
18
+ func TestRemoveOrganizationMembers (t * testing.T ) {
19
+ t .Parallel ()
20
+
21
+ t .Run ("OK" , func (t * testing.T ) {
22
+ t .Parallel ()
23
+ dv := coderdtest .DeploymentValues (t )
24
+ dv .Experiments = []string {string (codersdk .ExperimentMultiOrganization )}
25
+
26
+ ownerClient , _ := coderdenttest .New (t , & coderdenttest.Options {
27
+ Options : & coderdtest.Options {
28
+ DeploymentValues : dv ,
29
+ },
30
+ LicenseOptions : & coderdenttest.LicenseOptions {
31
+ Features : license.Features {
32
+ codersdk .FeatureMultipleOrganizations : 1 ,
33
+ },
34
+ },
35
+ })
36
+
37
+ secondOrganization := coderdenttest .CreateOrganization (t , ownerClient , coderdenttest.CreateOrganizationOptions {})
38
+ orgAdminClient , _ := coderdtest .CreateAnotherUser (t , ownerClient , secondOrganization .ID , rbac .ScopedRoleOrgAdmin (secondOrganization .ID ))
39
+ _ , user := coderdtest .CreateAnotherUser (t , ownerClient , secondOrganization .ID )
40
+
41
+ ctx := testutil .Context (t , testutil .WaitMedium )
42
+
43
+ inv , root := clitest .New (t , "organization" , "members" , "remove" , "-O" , secondOrganization .ID .String (), user .Username )
44
+ clitest .SetupConfig (t , orgAdminClient , root )
45
+
46
+ buf := new (bytes.Buffer )
47
+ inv .Stdout = buf
48
+ err := inv .WithContext (ctx ).Run ()
49
+ require .NoError (t , err )
50
+
51
+ members , err := orgAdminClient .OrganizationMembers (ctx , secondOrganization .ID )
52
+ require .NoError (t , err )
53
+
54
+ require .Len (t , members , 2 )
55
+ })
56
+
57
+ t .Run ("UserNotExists" , func (t * testing.T ) {
58
+ t .Parallel ()
59
+
60
+ ownerClient := coderdtest .New (t , & coderdtest.Options {})
61
+ owner := coderdtest .CreateFirstUser (t , ownerClient )
62
+ orgAdminClient , _ := coderdtest .CreateAnotherUser (t , ownerClient , owner .OrganizationID , rbac .ScopedRoleOrgAdmin (owner .OrganizationID ))
63
+
64
+ ctx := testutil .Context (t , testutil .WaitMedium )
65
+
66
+ inv , root := clitest .New (t , "organization" , "members" , "remove" , "-O" , owner .OrganizationID .String (), "random_name" )
67
+ clitest .SetupConfig (t , orgAdminClient , root )
68
+
69
+ buf := new (bytes.Buffer )
70
+ inv .Stdout = buf
71
+ err := inv .WithContext (ctx ).Run ()
72
+ require .ErrorContains (t , err , "must be an existing uuid or username" )
73
+ })
74
+ }
75
+
18
76
func TestEnterpriseListOrganizationMembers (t * testing.T ) {
19
77
t .Parallel ()
20
78
0 commit comments