public void Mapper_should_convert_users_too() { var postDTO = new PostDTO(); postDTO.UserDTO = new UserDTO(); var post = PostMapper.ConvertToPost(postDTO); post.User = UserMapper.ConvertToUser(postDTO.UserDTO); Assert.NotNull(post.User); }
public async Task <PostDTO> CreateAsync(PostDTO post) { if (post.EndDateTime <= post.StartDateTime) { throw new InvalidOperationException("EndDateTime should be greater than StartDateTime"); } var currentUser = _userContext.CurrentUser; if (currentUser.RoleId != (int)Roles.Moderator) { var defaultEndDateTime = _postDefaultValuesOptions.Value.DisplayPeriodInDaysForUsers; post.EndDateTime = post.StartDateTime.AddDays(defaultEndDateTime); } if (post.CreatedDate == default(DateTime)) { post.CreatedDate = DateTime.Now; } if (post.PostType == PostType.None) { post.PostType = PostType.InTouch; } post.IsDeleted = false; post.UserId = currentUser.Id; if (post.Priority == PostPriority.High && currentUser.RoleId != Role.ModeratorRoleId) { throw new InvalidOperationException("This user has no rights to set high priority for the post"); } post.IsPublic = false; var postToSave = PostMapper.ConvertToPost(post); postToSave.PostFiles = FileMapper.ConvertToPostFileCollection(post.Files); var createdPost = await _db.Posts.CreateAsync(postToSave); await _db.SaveAsync(); var createdPostDTO = PostMapper.ConvertToPostDTO(createdPost); createdPostDTO.UserDTO = currentUser; return(createdPostDTO); }
public void Mapper_ConvertToPost_should_throw_argument_null_exception_when_input_argument_is_null() { Assert.Throws <ArgumentNullException>(() => PostMapper.ConvertToPost((PostDTO)null)); }