Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 public void Mapper_ConvertToPost_should_throw_argument_null_exception_when_input_argument_is_null()
 {
     Assert.Throws <ArgumentNullException>(() => PostMapper.ConvertToPost((PostDTO)null));
 }