public async Task <ListOf <UserListViewModel> > SearchUsersByProperties(UserFindByProperties findByProperties) { var users = _mapper.Map <IEnumerable <UserListViewModel> >(await _userService.SearchByProperties(findByProperties.Query, findByProperties, findByProperties)); var total = await _userService.CountByProperties(findByProperties.Query); var claims = await GetClaimsFromUsers(users.Select(s => s.UserName), JwtClaimTypes.Picture, JwtClaimTypes.GivenName); foreach (var domainUser in users) { if (claims.ContainsKey(domainUser.UserName)) { domainUser.UpdateMetadata(claims[domainUser.UserName]); } } return(new ListOf <UserListViewModel>(_mapper.Map <IEnumerable <UserListViewModel> >(users), total)); }
public async Task Should_Search_User_By_Ssn() { string ssn = string.Empty; var commands = UserViewModelFaker.GenerateUserViewModel().Generate(_faker.Random.Int(1, 10)); foreach (var command in commands) { var result = await _userAppService.Register(command); result.Should().BeTrue(); ssn = command.SocialNumber; } var search = new UserFindByProperties(ssn); var users = await _userManagerAppService.SearchUsersByProperties(search); users.Total.Should().BeGreaterOrEqualTo(1); users.Collection.ToList().Count.Should().Be(users.Total); }
public async Task Should_Search_By_Claim_And_Count_Be_Equal_Limit() { var commands = UserViewModelFaker.GenerateUserViewModel().Generate(50); foreach (var command in commands) { var result = await _userAppService.Register(command); result.Should().BeTrue(); } var search = new UserFindByProperties(null) { Limit = 10 }; var users = await _userManagerAppService.SearchUsersByProperties(search); users.Total.Should().BeGreaterOrEqualTo(1); users.Collection.ToList().Count.Should().Be(10); users.Total.Should().Be(users.Total); }