public async Task <IHttpActionResult> GetFavoriteUsers() { var userId = claimsHelper.GetUserId(); var users = await this.favoriteUserService.GetFavoriteUsers(userId); return(Ok(users)); }
public async Task <IEnumerable <UserModel> > GetRecommendedUsersAsync() { var favoriteUserIds = await FavoriteUserIds(); var mapper = new UserMapper(); var userId = claimsHelper.GetUserId(); var users = await this.userRepository.GetFriendsAsync(userId); var result = users .Where(user => !favoriteUserIds.Contains(user.Id)) .OrderBy(x => Guid.NewGuid()) // Randomize .Take(CountOfRecommendedUsers) .Select(user => mapper.Map(user, new UserModel())).ToList(); return(result); }
public async Task <IEnumerable <string> > GetSavedStatusIdsAsync() { var userId = claimsHelper.GetUserId(); var statuses = await this.dbContext.Statuses.FindAsync(x => x.SavedByUserId == userId); return(statuses.ToEnumerable().Select(x => x.StatusId)); }
private void SetupFavoriteUserIds() { var currentUserId = "userId"; claimsHelper.GetUserId().Returns(currentUserId); var userIds = new List <string> { "userId 1" }; this.favoriteUserRepository.GetFavoriteUserIds(currentUserId).Returns(userIds); }
public async Task CrudTest() { var statusId = "1"; var createdById = "2"; var userId = "74286566"; var status = new Status { StatusId = statusId, Text = "Text", CreatedById = createdById }; this.claimsHelper.GetUserId().Returns(userId); await this.statusStoreRepository.SaveAsync(status); var savedStatusIds = await this.statusStoreRepository.GetSavedStatusIdsAsync(); Assert.True(savedStatusIds.Contains(statusId)); var savedByParams = new StatusListParams { SavedByUserId = claimsHelper.GetUserId(), CreatedByUserId = createdById }; var savedPosts = await this.statusStoreRepository.GetAllSavedAsync(savedByParams); Assert.True(savedPosts.Select(x => x.StatusId).Contains(statusId)); var userIds = new List <string> { userId }; var downloadedStatusesCount = this.statusStoreRepository.GetDownloadStatusCount(userIds) .FirstOrDefault(x => x.Item1 == userId) .Item2; Assert.Equal(downloadedStatusesCount, 1); // Count await this.statusStoreRepository.UnsaveAsync(statusId); }