(t *testing.T)
| 247 | } |
| 248 | |
| 249 | func TestTeamAddMemberJSONOutputsMutationResult(t *testing.T) { |
| 250 | var gotArg *team.MembersAddArg |
| 251 | member := testTeamMember("dbmid:new", "new@example.com", "New User") |
| 252 | stubTeamClient(t, &mockTeamClient{ |
| 253 | membersAddFn: func(arg *team.MembersAddArg) (*team.MembersAddLaunch, error) { |
| 254 | gotArg = arg |
| 255 | return &team.MembersAddLaunch{ |
| 256 | Tagged: dropbox.Tagged{Tag: "complete"}, |
| 257 | Complete: []*team.MemberAddResult{ |
| 258 | {Tagged: dropbox.Tagged{Tag: "success"}, Success: member}, |
| 259 | }, |
| 260 | }, nil |
| 261 | }, |
| 262 | }) |
| 263 | |
| 264 | cmd, stdout := teamTestCmd(t, true) |
| 265 | if err := addMember(cmd, []string{"new@example.com", "New", "User"}); err != nil { |
| 266 | t.Fatalf("addMember error: %v", err) |
| 267 | } |
| 268 | if gotArg == nil || len(gotArg.NewMembers) != 1 || gotArg.NewMembers[0].MemberEmail != "new@example.com" || gotArg.NewMembers[0].MemberGivenName != "New" || gotArg.NewMembers[0].MemberSurname != "User" { |
| 269 | t.Fatalf("MembersAdd arg = %#v, want new member", gotArg) |
| 270 | } |
| 271 | |
| 272 | got := decodeTeamOperationOutput[teamMemberAddInput, teamMemberMutationJSON](t, stdout.Bytes()) |
| 273 | if got.Input.Email != "new@example.com" || got.Input.FirstName != "New" || got.Input.LastName != "User" { |
| 274 | t.Fatalf("input = %#v, want add member input", got.Input) |
| 275 | } |
| 276 | result := onlyTeamResult(t, got) |
| 277 | if result.Status != teamJSONStatusAdded || result.Kind != teamJSONKindTeamMember { |
| 278 | t.Fatalf("operation result = %#v, want added team_member", result) |
| 279 | } |
| 280 | if result.Result.Type != teamJSONTypeMemberAdd || result.Result.Tag != "complete" || len(result.Result.Results) != 1 { |
| 281 | t.Fatalf("mutation result = %#v, want complete add result", result.Result) |
| 282 | } |
| 283 | if result.Result.Results[0].Member == nil || result.Result.Results[0].Member.Email != "new@example.com" { |
| 284 | t.Fatalf("add item = %#v, want new member metadata", result.Result.Results[0]) |
| 285 | } |
| 286 | } |
| 287 | |
| 288 | func TestTeamRemoveMemberJSONOutputsMutationResult(t *testing.T) { |
| 289 | var gotArg *team.MembersRemoveArg |
nothing calls this directly
no test coverage detected