Example #1
0
        public async Task Followed_Should_Return_True_When_User_Follow_SecondUser()
        {
            // Arrange
            var followedUser = _fakeData.GetUser();
            var follow       = new Follow(_userId, followedUser.Id);
            await _context.AddAsync(followedUser);

            await _context.AddAsync(follow);

            await _context.SaveChangesAsync();

            // Act
            var result = await _followService.Followed(_userId, followedUser.Id);

            // Assert
            Assert.True(result.Succeeded);
            Assert.True(result.Content);
        }
Example #2
0
        public async Task <IActionResult> Index(string userId)
        {
            var loggedUser = await _userManager.GetUserAsync(User);

            var profileUser = userId != null ? await _userManager.FindByIdAsync(userId) : loggedUser;

            if (loggedUser != null && loggedUser.Id != profileUser.Id)
            {
                var followed = await _followService.Followed(loggedUser.Id, profileUser.Id);

                if (followed.Succeeded)
                {
                    ViewBag.Followed = followed.Content;
                }
            }

            var followers = await _followService.GetFollowers(profileUser.Id);

            ViewBag.FollowersCount = followers.Succeeded ? followers.Content.Count : 0;

            var profile = new ProfileDto(profileUser);

            ViewBag.UserId = profileUser.Id;
            ViewBag.Avatar = $"/img/{profile.Gender}.png";

            var result = await _postService.GetPosts(profileUser.Id);

            if (result.Succeeded)
            {
                ViewBag.Posts = result.Content;
            }
            else
            {
                TempData["Error"] = result.ErrorMessage;
            }

            return(View(profile));
        }