(t *testing.T)
| 70 | } |
| 71 | |
| 72 | func TestListMembers(t *testing.T) { |
| 73 | t.Parallel() |
| 74 | |
| 75 | client, db := coderdtest.NewWithDatabase(t, nil) |
| 76 | owner := coderdtest.CreateFirstUser(t, client) |
| 77 | _, orgMember := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID) |
| 78 | _, orgAdmin := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID) |
| 79 | anotherOrg := dbgen.Organization(t, db, database.Organization{}) |
| 80 | anotherUser := dbgen.User(t, db, database.User{ |
| 81 | GithubComUserID: sql.NullInt64{Valid: true, Int64: 12345}, |
| 82 | }) |
| 83 | _ = dbgen.OrganizationMember(t, db, database.OrganizationMember{ |
| 84 | OrganizationID: anotherOrg.ID, |
| 85 | UserID: anotherUser.ID, |
| 86 | }) |
| 87 | |
| 88 | t.Run("OK", func(t *testing.T) { |
| 89 | t.Parallel() |
| 90 | |
| 91 | ctx := testutil.Context(t, testutil.WaitShort) |
| 92 | members, err := client.OrganizationMembers(ctx, owner.OrganizationID) |
| 93 | require.NoError(t, err) |
| 94 | require.Len(t, members, 3) |
| 95 | require.ElementsMatch(t, |
| 96 | []uuid.UUID{owner.UserID, orgMember.ID, orgAdmin.ID}, |
| 97 | slice.List(members, onlyIDs)) |
| 98 | }) |
| 99 | |
| 100 | t.Run("UserID", func(t *testing.T) { |
| 101 | t.Parallel() |
| 102 | |
| 103 | ctx := testutil.Context(t, testutil.WaitShort) |
| 104 | members, err := client.OrganizationMembers(ctx, owner.OrganizationID, codersdk.OrganizationMembersQueryOptionUserID(orgMember.ID)) |
| 105 | require.NoError(t, err) |
| 106 | require.Len(t, members, 1) |
| 107 | require.ElementsMatch(t, |
| 108 | []uuid.UUID{orgMember.ID}, |
| 109 | slice.List(members, onlyIDs)) |
| 110 | }) |
| 111 | |
| 112 | t.Run("IncludeSystem", func(t *testing.T) { |
| 113 | t.Parallel() |
| 114 | |
| 115 | ctx := testutil.Context(t, testutil.WaitShort) |
| 116 | members, err := client.OrganizationMembers(ctx, owner.OrganizationID, codersdk.OrganizationMembersQueryOptionIncludeSystem()) |
| 117 | require.NoError(t, err) |
| 118 | require.Len(t, members, 4) |
| 119 | require.ElementsMatch(t, |
| 120 | []uuid.UUID{owner.UserID, orgMember.ID, orgAdmin.ID, database.PrebuildsSystemUserID}, |
| 121 | slice.List(members, onlyIDs)) |
| 122 | }) |
| 123 | |
| 124 | t.Run("GithubUserID", func(t *testing.T) { |
| 125 | t.Parallel() |
| 126 | |
| 127 | ctx := testutil.Context(t, testutil.WaitShort) |
| 128 | members, err := client.OrganizationMembers(ctx, anotherOrg.ID, codersdk.OrganizationMembersQueryOptionGithubUserID(anotherUser.GithubComUserID.Int64)) |
| 129 | require.NoError(t, err) |
nothing calls this directly
no test coverage detected