Exemple #1
0
        public async Task <PagingModel <ChatUserModel> > GetContactsForInviteAsync(ContactsQuery query)
        {
            var dto = new GetPotentialChannelMembersRequest
            {
                NameFilter = query.NameFilter,
                PageNumber = query.PageNumber,
                PageSize   = query.PageSize
            };

            var request = new GetMembersForInviteRequest(_chatConfig.ApiUrl, _jsonSerializer, dto, query.ChannelId);

            var result = await _httpClient.TrySendAndDeserializeAsync <QueryResult <MemberSummaryResponse> >(request,
                                                                                                             _logger).ConfigureAwait(false);

            return(result == null
                ? null
                : Mapper.PagedDtoToPagingModel(result, Mapper.DtoToChatUser));
        }
        public async Task ShouldReturnPagedMembersResponse()
        {
            // Arrange
            var channelId = new Guid("8849DA19-C0E2-4C25-BDBA-2C14D7D304C8");

            var pageNumber = 1;
            var pageSize   = 1;
            var nameFilter = "testFilter";

            var request = new GetPotentialChannelMembersRequest
            {
                NameFilter = nameFilter,
                PageSize   = pageSize,
                PageNumber = pageNumber
            };

            var members = new QueryResult <Member>
            {
                PageNumber         = pageNumber,
                PageSize           = pageSize,
                Results            = new List <Member>(),
                TotalNumberOfItems = 1,
                TotalNumberOfPages = 1
            };

            _memberRepositoryMock.Setup(x => x.GetPotentialChannelMembersAsync(
                                            It.Is <Guid>(c => c.Equals(channelId)),
                                            It.Is <int>(pn => pn.Equals(request.PageNumber)),
                                            It.Is <int>(ps => ps.Equals(request.PageSize)),
                                            It.Is <string>(nf => nf.Equals(request.NameFilter))))
            .ReturnsAsync(members)
            .Verifiable();

            // Act
            var result = await _memberService.GetPotentialChannelMembersAsync(channelId, request);

            result.Should().BeEquivalentTo(members);
        }
Exemple #3
0
        public async Task <PagedMembersResponse> GetPotentialChannelMembersAsync(Guid channelId, GetPotentialChannelMembersRequest request)
        {
            var members = await UnitOfWork.MemberRepository.GetPotentialChannelMembersAsync(channelId, request.PageNumber, request.PageSize, request.NameFilter);

            var response = new PagedMembersResponse
            {
                Results            = members.Results.Select(member => DomainModelsMapper.MapToMemberSummaryResponse(member)),
                TotalNumberOfItems = members.TotalNumberOfItems,
                TotalNumberOfPages = members.TotalNumberOfPages,
                PageNumber         = members.PageNumber,
                PageSize           = members.PageSize
            };

            return(response);
        }