(t *testing.T)
| 164 | } |
| 165 | |
| 166 | func TestTeamListMembersJSONPaginates(t *testing.T) { |
| 167 | continueCalled := false |
| 168 | stubTeamClient(t, &mockTeamClient{ |
| 169 | membersListFn: func(arg *team.MembersListArg) (*team.MembersListResult, error) { |
| 170 | return team.NewMembersListResult([]*team.TeamMemberInfo{ |
| 171 | testTeamMember("dbmid:one", "one@example.com", "One User"), |
| 172 | }, "member-cursor", true), nil |
| 173 | }, |
| 174 | membersListContinueFn: func(arg *team.MembersListContinueArg) (*team.MembersListResult, error) { |
| 175 | continueCalled = true |
| 176 | if arg.Cursor != "member-cursor" { |
| 177 | t.Fatalf("continue cursor = %q, want member-cursor", arg.Cursor) |
| 178 | } |
| 179 | return team.NewMembersListResult([]*team.TeamMemberInfo{ |
| 180 | testTeamMember("dbmid:two", "two@example.com", "Two User"), |
| 181 | }, "", false), nil |
| 182 | }, |
| 183 | }) |
| 184 | |
| 185 | cmd, stdout := teamTestCmd(t, true) |
| 186 | if err := listMembers(cmd, nil); err != nil { |
| 187 | t.Fatalf("listMembers error: %v", err) |
| 188 | } |
| 189 | if !continueCalled { |
| 190 | t.Fatal("MembersListContinue was not called") |
| 191 | } |
| 192 | got := decodeTeamOperationOutput[map[string]any, teamMemberJSON](t, stdout.Bytes()) |
| 193 | if len(got.Results) != 2 { |
| 194 | t.Fatalf("results length = %d, want 2", len(got.Results)) |
| 195 | } |
| 196 | first := got.Results[0] |
| 197 | if first.Status != teamJSONStatusListed || first.Kind != teamJSONKindTeamMember { |
| 198 | t.Fatalf("first result = %#v, want listed team_member", first) |
| 199 | } |
| 200 | if first.Result.Email != "one@example.com" || first.Result.TeamMemberID != "dbmid:one" || first.Result.Name.DisplayName != "One User" { |
| 201 | t.Fatalf("first result = %#v, want first member", first.Result) |
| 202 | } |
| 203 | if got.Results[1].Result.Email != "two@example.com" { |
| 204 | t.Fatalf("second result = %#v, want second member", got.Results[1].Result) |
| 205 | } |
| 206 | } |
| 207 | |
| 208 | func TestTeamListGroupsJSONPaginates(t *testing.T) { |
| 209 | continueCalled := false |
nothing calls this directly
no test coverage detected