public void UpdateIsFollowingProperty_ReturnsNullReferenceException_WhenUsernameIsNull() { // Act & Assert var ex = Assert.Throws <ArgumentNullException>(() => UserNetworkHelpers.UpdateIsFollowingProperty(null, new List <Network>())); Assert.Equal("The requestingUsername is null (Parameter 'requestingUsername')", ex.Message); }
public void UpdateIsFollowingProperty_ReturnsNullReferenceException_WhenFollowingCollectionIsNull() { // Arrange var viewModel = new NetworkUserViewModel() { UserName = "******" }; // Act & Assert var ex = Assert.Throws <ArgumentNullException>(() => UserNetworkHelpers.UpdateIsFollowingProperty(viewModel.UserName, null)); Assert.Equal("The followers collection is null (Parameter 'requestedUsersFollowers')", ex.Message); }
public async Task <IActionResult> GetUserProfileAsync(string requestedUsername) { // add properties for no. of species / observations // build new query object if (string.IsNullOrEmpty(requestedUsername)) { _logger.LogError(LoggingEvents.GetItem, "requestedUsername argument is null or empty at GetUserProfileAsync action"); return(BadRequest($"{nameof(requestedUsername)} argument is null or empty")); } try { var requestedUser = await _userManager.GetUserWithNetworkAsync(requestedUsername); if (requestedUser is null) { _logger.LogError(LoggingEvents.GetItem, $"Username '{requestedUsername}' not found at GetUserProfileAsync action"); return(StatusCode(500, "userManager returned null")); } var requestedUserProfileViewModel = _mapper.Map <ApplicationUser, UserProfileViewModel>(requestedUser); requestedUserProfileViewModel.FollowersCount = requestedUser.Followers.Count; requestedUserProfileViewModel.FollowingCount = requestedUser.Following.Count; if (requestedUsername.Equals(User.Identity.Name)) { // Own profile requested... requestedUserProfileViewModel.IsOwnProfile = true; } else { // Other user's profile requested... requestedUserProfileViewModel.IsFollowing = UserNetworkHelpers.UpdateIsFollowingProperty(User.Identity.Name, requestedUser.Followers); } return(Ok(requestedUserProfileViewModel)); } catch (Exception ex) { _logger.LogError(LoggingEvents.Exception, ex, "Error at GetUserProfileAsync"); return(StatusCode(500, "There was an error getting the user profile")); } }
public void UpdateIsFollowingProperty_ReturnsIsFollowEqualsFalse_WhenViewModelUserIsNotInFollowingCollection(int length) { // Arrange var viewModel = new NetworkUserViewModel() { UserName = "******" }; var followers = GetDynamicNetworkCollection(length); // Act var result = UserNetworkHelpers.UpdateIsFollowingProperty(viewModel.UserName, followers); // Assert var returnModel = Assert.IsType <bool>(result); //Assert.Equal(viewModel.UserName, returnModel.UserName); Assert.False(result); }