Skip to content

Commit ce367e5

Browse files
committed
make gen
1 parent 1002c6b commit ce367e5

File tree

4 files changed

+97
-4
lines changed

4 files changed

+97
-4
lines changed

cli/organizationmembers_test.go

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/coder/coder/v2/cli/clitest"
1010
"github.com/coder/coder/v2/coderd/coderdtest"
1111
"github.com/coder/coder/v2/coderd/rbac"
12+
"github.com/coder/coder/v2/codersdk"
1213
"github.com/coder/coder/v2/testutil"
1314
)
1415

@@ -34,3 +35,40 @@ func TestListOrganizationMembers(t *testing.T) {
3435
require.Contains(t, buf.String(), owner.UserID.String())
3536
})
3637
}
38+
39+
func TestAddOrganizationMembers(t *testing.T) {
40+
t.Parallel()
41+
42+
t.Run("OK", func(t *testing.T) {
43+
t.Parallel()
44+
45+
ownerClient := coderdtest.New(t, &coderdtest.Options{})
46+
owner := coderdtest.CreateFirstUser(t, ownerClient)
47+
_, user := coderdtest.CreateAnotherUser(t, ownerClient, owner.OrganizationID)
48+
49+
ctx := testutil.Context(t, testutil.WaitMedium)
50+
//nolint:gocritic // must be an owner, only owners can create orgs
51+
otherOrg, err := ownerClient.CreateOrganization(ctx, codersdk.CreateOrganizationRequest{
52+
Name: "Other",
53+
DisplayName: "",
54+
Description: "",
55+
Icon: "",
56+
})
57+
require.NoError(t, err, "create another organization")
58+
59+
inv, root := clitest.New(t, "organization", "members", "add", "--organization", otherOrg.ID.String(), user.Username)
60+
//nolint:gocritic // must be an owner
61+
clitest.SetupConfig(t, ownerClient, root)
62+
63+
buf := new(bytes.Buffer)
64+
inv.Stdout = buf
65+
err = inv.WithContext(ctx).Run()
66+
require.NoError(t, err)
67+
68+
//nolint:gocritic // must be an owner
69+
members, err := ownerClient.OrganizationMembers(ctx, otherOrg.ID)
70+
require.NoError(t, err)
71+
72+
require.Len(t, members, 2)
73+
})
74+
}

coderd/apidoc/docs.go

Lines changed: 0 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/members_test.go

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,65 @@ import (
1313
"github.com/coder/coder/v2/testutil"
1414
)
1515

16+
func TestAddMember(t *testing.T) {
17+
t.Parallel()
18+
19+
t.Run("OK", func(t *testing.T) {
20+
t.Parallel()
21+
owner := coderdtest.New(t, nil)
22+
first := coderdtest.CreateFirstUser(t, owner)
23+
ctx := testutil.Context(t, testutil.WaitMedium)
24+
org, err := owner.CreateOrganization(ctx, codersdk.CreateOrganizationRequest{
25+
Name: "other",
26+
DisplayName: "",
27+
Description: "",
28+
Icon: "",
29+
})
30+
require.NoError(t, err)
31+
32+
// Make a user not in the second organization
33+
_, user := coderdtest.CreateAnotherUser(t, owner, first.OrganizationID)
34+
35+
members, err := owner.OrganizationMembers(ctx, org.ID)
36+
require.NoError(t, err)
37+
require.Len(t, members, 1) // Verify just the 1 member
38+
39+
// Add user to org
40+
_, err = owner.PostOrganizationMember(ctx, org.ID, user.Username)
41+
require.NoError(t, err)
42+
43+
members, err = owner.OrganizationMembers(ctx, org.ID)
44+
require.NoError(t, err)
45+
// Owner + new member
46+
require.Len(t, members, 2)
47+
require.ElementsMatch(t,
48+
[]uuid.UUID{first.UserID, user.ID},
49+
db2sdk.List(members, onlyIDs))
50+
})
51+
52+
t.Run("UserNotExists", func(t *testing.T) {
53+
t.Parallel()
54+
owner := coderdtest.New(t, nil)
55+
_ = coderdtest.CreateFirstUser(t, owner)
56+
ctx := testutil.Context(t, testutil.WaitMedium)
57+
58+
org, err := owner.CreateOrganization(ctx, codersdk.CreateOrganizationRequest{
59+
Name: "other",
60+
DisplayName: "",
61+
Description: "",
62+
Icon: "",
63+
})
64+
require.NoError(t, err)
65+
66+
// Add user to org
67+
_, err = owner.PostOrganizationMember(ctx, org.ID, uuid.NewString())
68+
require.Error(t, err)
69+
var apiErr *codersdk.Error
70+
require.ErrorAs(t, err, &apiErr)
71+
require.Contains(t, apiErr.Message, "must be an existing")
72+
})
73+
}
74+
1675
func TestListMembers(t *testing.T) {
1776
t.Parallel()
1877

0 commit comments

Comments
 (0)