Exemplo n.º 1
0
 public MemberCriteria CreateMemberCriteria(MemberCriteriaModel criteriaModel)
 {
     return(new MemberCriteria
     {
         Ids = criteriaModel.Ids?.Select(int.Parse),
         CommunityId = criteriaModel.CommunityId,
         Email = criteriaModel.Email,
         Name = criteriaModel.Name,
         Role = criteriaModel.Role,
         Page = criteriaModel.Page,
         PageSize = criteriaModel.PageSize
     });
 }
Exemplo n.º 2
0
        public async Task <MemberResponseModel> GetMembers(MemberCriteriaModel criteriaModel)
        {
            var criteria     = _modelFactory.CreateMemberCriteria(criteriaModel);
            var membersCount = await _memberDao.CountMembers(criteria).ConfigureAwait(false);

            var memberResponse = new MemberResponse
            {
                Links   = CreateLinks(criteria.Page, criteria.PageSize, membersCount),
                Results = await CreateMembers(criteria, membersCount).ConfigureAwait(false)
            };

            return(_modelFactory.CreateMemberResponseModel(memberResponse));
        }
Exemplo n.º 3
0
        public void Should_not_return_Artifacts_When_page_do_not_exist()
        {
            _memberDao.CountMembers(Arg.Any <MemberCriteria>()).ReturnsForAnyArgs(50);
            _memberDao.GetMembers(Arg.Any <MemberCriteria>())
            .ReturnsForAnyArgs(_fixture.CreateMany <Member>(50));

            var criteria = new MemberCriteriaModel
            {
                Page     = 10,
                PageSize = 20
            };

            var results = _memberRepo.GetMembers(criteria).Result;

            results.Results.Should().BeEmpty();
        }
Exemplo n.º 4
0
        public void Should_return_5_members_when_service_get_all_members()
        {
            var response = _fixture.Build <MemberResponseModel>()
                           .With(x => x.Results, _fixture.Build <MemberModel>()
                                 .CreateMany(5).ToList())
                           .Create();

            var fakeCriteria = new MemberCriteriaModel();
            var fakeRepo     = Substitute.For <IMemberRepository>();

            fakeRepo.GetMembers(fakeCriteria).ReturnsForAnyArgs(response);

            var memberService = new MemberService(fakeRepo);
            var result        = memberService.GetMembers(fakeCriteria).Result;

            result.Results.FirstOrDefault().Should().BeOfType <MemberModel>();
            result.Results.Count().Should().Be(5);
        }
        public void Should_validate_criteria_when_no_filter_was_specified()
        {
            var criteria = new MemberCriteriaModel
            {
                Ids         = null,
                CommunityId = null,
                Email       = null,
                Name        = null,
                Role        = null,
                PageSize    = 20,
                Page        = 1
            };

            _validator.ShouldNotHaveValidationErrorFor(x => x.Ids, criteria);
            _validator.ShouldNotHaveValidationErrorFor(x => x.CommunityId, criteria);
            _validator.ShouldNotHaveValidationErrorFor(x => x.Email, criteria);
            _validator.ShouldNotHaveValidationErrorFor(x => x.Name, criteria);
            _validator.ShouldNotHaveValidationErrorFor(x => x.Role, criteria);
            _validator.ShouldNotHaveValidationErrorFor(x => x.PageSize, criteria);
            _validator.ShouldNotHaveValidationErrorFor(x => x.Page, criteria);
        }
Exemplo n.º 6
0
        public async Task <IHttpActionResult> GetMembers(string ids  = null, string email       = null,
                                                         string name = null, CommunityRole?role = null, int?communityId = null, int page = 1, int pageSize = 20)
        {
            var memberCriteria = new MemberCriteriaModel
            {
                Ids         = ids?.SafeSplit(),
                Email       = email,
                Role        = role,
                Name        = name,
                CommunityId = communityId,
                Page        = page,
                PageSize    = pageSize
            };
            var validationResults = _criteriaValidator.Validate(memberCriteria);

            if (validationResults.IsValid)
            {
                return(Ok(await _memberService.GetMembers(memberCriteria).ConfigureAwait(false)));
            }

            validationResults.AddToModelState(ModelState, null);
            return(BadRequest(ModelState));
        }
Exemplo n.º 7
0
 public async Task <MemberResponseModel> GetMembers(MemberCriteriaModel criteriaModel)
 {
     return(await _memberRepository.GetMembers(criteriaModel).ConfigureAwait(false));
 }