MCPcopy Create free account
hub / github.com/dropbox/dbxcli / TestTeamAddMemberJSONOutputsMutationResult

Function TestTeamAddMemberJSONOutputsMutationResult

cmd/team_json_test.go:249–286  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

247}
248
249func 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
288func TestTeamRemoveMemberJSONOutputsMutationResult(t *testing.T) {
289 var gotArg *team.MembersRemoveArg

Callers

nothing calls this directly

Calls 6

testTeamMemberFunction · 0.85
stubTeamClientFunction · 0.85
teamTestCmdFunction · 0.85
addMemberFunction · 0.85
onlyTeamResultFunction · 0.85

Tested by

no test coverage detected