Ejemplo n.º 1
0
        public static Comment ToComment(AddOrUpdateCommentDTO item, int id = 0)
        {
            return(new Comment
            {
                Id = id,
                Text = item.Text,
                InsertDate = DateTime.Now,

                PostId = item.PostId
            });
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Create([FromBody] AddOrUpdateCommentDTO formData)
        {
            if (formData == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var postItem = Convertor.ToComment(formData);
            await CommentRepo.Add(postItem);

            return(CreatedAtRoute("GetComment", new { Controller = "Comment", id = postItem.Id }, postItem));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Update([FromRoute] int id, [FromBody] AddOrUpdateCommentDTO formData)
        {
            if (formData == null)
            {
                return(BadRequest());
            }

            if (!CommentExists(id).Result)
            {
                return(NotFound());
            }

            var postItem = Convertor.ToComment(formData, id);
            await CommentRepo.Update(id, postItem);

            return(NoContent());
        }
Ejemplo n.º 4
0
        public async Task Create_ShouldReturn_CreatedComment()
        {
            const string TEXT = "Unit Test comments goes here...";

            #region Arrange
            int id          = 1;
            var testComment = new Comment()
            {
                Id         = 1,
                Text       = TEXT,
                PostId     = 1,
                InsertDate = DateTime.Now,
            };

            var mockRepo = new Mock <ICommentRepository>();
            mockRepo.Setup(repo => repo.Find(id))
            .Returns(Task.FromResult(testComment));
            var controller = new CommentController(mockRepo.Object);

            var newComment = new AddOrUpdateCommentDTO()
            {
                Text   = TEXT,
                PostId = 1,
            };
            mockRepo.Setup(repo => repo.Add(testComment))
            .Returns(Task.CompletedTask)
            .Verifiable();
            #endregion


            var actionResult = await controller.Create(newComment);

            Assert.IsInstanceOfType(actionResult, typeof(CreatedAtRouteResult));

            var okResult = actionResult as CreatedAtRouteResult;
            Assert.IsInstanceOfType(okResult.Value, typeof(Comment));
            Assert.AreEqual(TEXT, (okResult.Value as Comment).Text);
        }