Exemple #1
0
        public async Task <IHttpActionResult> GetFavoriteUsers()
        {
            var userId = claimsHelper.GetUserId();
            var users  = await this.favoriteUserService.GetFavoriteUsers(userId);

            return(Ok(users));
        }
Exemple #2
0
        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);
        }