public void InsertLikeSuccess()
        {
            Like like = Like.Create(5, 10);

            // Mock
            this._likeRespository
            .Setup(b => b.Save(like))
            .Returns(like);

            this._unitOfWork
            .Setup(b => b.SaveChangesAsync());

            // Act
            var result = _insertLikeUseCase.Execute(like).Result;

            // Assert
            Assert.Equal(like.ArticleId, result.ArticleId);
            Assert.Equal(like.Count, result.Count);
        }
        public async Task <Like> Execute(int articleId)
        {
            try
            {
                var like = await _getLikeByArticleIdUseCase.Execute(articleId);

                if (like == null)
                {
                    like = Like.Create(articleId, 1);
                }
                else
                {
                    like.SetCount(like.Count + 1);
                }

                return(await _insertLikeUseCase.Execute(like));
            }
            catch (Exception)
            {
                throw;
            }
        }