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);
        }
Ejemplo n.º 2
0
        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);
Ejemplo n.º 3
0
        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);