public async Task ThenTheAccountUsersAreReturned() { var hashedAccountId = "ABC123"; var accountsUserResponse = new GetTeamMembersResponse { TeamMembers = new List <Models.AccountTeam.TeamMember> { new Models.AccountTeam.TeamMember { HashedAccountId = hashedAccountId, Email = "test@test'com", Name = "Test" } } }; Mediator.Setup(x => x.SendAsync(It.IsAny <GetTeamMembersRequest>())) .ReturnsAsync(accountsUserResponse); var response = await Controller.GetAccountUsers(hashedAccountId); Assert.IsNotNull(response); Assert.IsInstanceOf <OkNegotiatedContentResult <List <TeamMember> > >(response); }
public async Task <List <TeamMember> > GetTeamMembersAsync(CancellationToken cancellationToken = default(CancellationToken), bool noRepeatings = false) => await Task.Run(async() => { if (!CrossConnectivity.Current.IsConnected) { throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION); } List <TeamMember> teamMembers = new List <TeamMember>(); GetTeamMembersRequest getTeamMembersRequest = new GetTeamMembersRequest { AccessToken = GlobalSettings.Instance.UserProfile.AccesToken, Url = GlobalSettings.Instance.Endpoints.TeamMemberEndPoints.GetTeamMembersEndPoint }; GetTeamMembersResponse getTeamMembersResponse = null; try { getTeamMembersResponse = await _requestProvider.GetAsync <GetTeamMembersRequest, GetTeamMembersResponse>(getTeamMembersRequest); if (getTeamMembersResponse != null) { if (noRepeatings) { teamMembers = getTeamMembersResponse.TeamMembers.GroupBy <TeamMember, long>(teamMember => teamMember.Team.Id).Select <IGrouping <long, TeamMember>, TeamMember>(group => group.First()).ToList(); } else { teamMembers = getTeamMembersResponse.TeamMembers.ToList(); } } else { throw new InvalidOperationException(CANT_GET_TEAM_MEMBER_BY_MEMBER_ID_ERROR_MESSAGE); } } catch (ServiceAuthenticationException exc) { _identityUtilService.RefreshToken(); throw exc; } catch (Exception ex) { Crashes.TrackError(ex); throw; } return(teamMembers); }, cancellationToken);
public async Task <TeamMember> GetTeamMemberByMemberIdAsync(long profileId, CancellationToken cancellationToken = default(CancellationToken)) => await Task.Run(async() => { if (!CrossConnectivity.Current.IsConnected) { throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION); } TeamMember teamMember = null; AuthorisedRequest getTeamMembersByMemberIdRequest = new AuthorisedRequest { AccessToken = GlobalSettings.Instance.UserProfile.AccesToken, Url = string.Format(GlobalSettings.Instance.Endpoints.TeamMemberEndPoints.GetTeamMembersByMemberIdEndPoint, profileId) }; GetTeamMembersResponse getTeamMembersByMemberIdResponse = null; try { getTeamMembersByMemberIdResponse = await _requestProvider.GetAsync <AuthorisedRequest, GetTeamMembersResponse>(getTeamMembersByMemberIdRequest); if (getTeamMembersByMemberIdResponse != null) { teamMember = getTeamMembersByMemberIdResponse.TeamMembers.FirstOrDefault <TeamMember>(foundTeamMember => foundTeamMember.Member.Id == profileId); } else { throw new InvalidOperationException(CANT_GET_TEAM_MEMBERS_ERROR_MESSAGE); } } catch (ServiceAuthenticationException exc) { _identityUtilService.RefreshToken(); throw exc; } catch (Exception ex) { Crashes.TrackError(ex); throw; } return(teamMember); }, cancellationToken);