コード例 #1
0
        public void GetLikeByArticleIdFound()
        {
            int articleId = 5;
            int count     = 2;

            // Mock
            this._likeRespository
            .Setup(b => b.FindByArticleId(articleId))
            .ReturnsAsync(Like.Create(articleId, count));

            // Act
            var result = _getLikeByArticleIdUseCase.Execute(articleId).Result;

            // Assert
            Assert.Equal(articleId, result.ArticleId);
            Assert.Equal(count, result.Count);
        }
コード例 #2
0
        public async Task <Like> Execute(int articleId)
        {
            try
            {
                var like = await _getLikeByArticleIdUseCase.Execute(articleId);

                if (like == null)
                {
                    like = Like.Create(articleId, 0);
                }

                return(like);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #3
0
        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;
            }
        }