(t *testing.T)
| 316 | } |
| 317 | |
| 318 | func TestTeamAddMemberErrorIncludesEmailDetails(t *testing.T) { |
| 319 | stubTeamClient(t, &mockTeamClient{ |
| 320 | membersAddFn: func(arg *team.MembersAddArg) (*team.MembersAddLaunch, error) { |
| 321 | return nil, errors.New("add failed") |
| 322 | }, |
| 323 | }) |
| 324 | |
| 325 | cmd, stdout := teamTestCmd(t, true) |
| 326 | err := addMember(cmd, []string{"new@example.com", "New", "User"}) |
| 327 | if err == nil { |
| 328 | t.Fatal("expected addMember error") |
| 329 | } |
| 330 | details := jsonErrorDetails(err) |
| 331 | if details["operation"] != "team_add_member" || details["email"] != "new@example.com" { |
| 332 | t.Fatalf("details = %#v, want team_add_member operation and email", details) |
| 333 | } |
| 334 | if got := stdout.String(); got != "" { |
| 335 | t.Fatalf("stdout = %q, want no success output", got) |
| 336 | } |
| 337 | } |
| 338 | |
| 339 | func TestTeamRemoveMemberErrorIncludesEmailDetails(t *testing.T) { |
| 340 | stubTeamClient(t, &mockTeamClient{ |
nothing calls this directly
no test coverage detected