Esempio n. 1
0
        public void GetArticleWithoutCommentsOk()
        {
            var mockArticleRepository = new Mock <IArticleRepository>();
            var articleId             = Guid.NewGuid();
            var articleTitle          = "article title";
            var articleText           = "article text";
            var articleAuthor         = "bob";

            mockArticleRepository.Setup(x => x.Get(articleId)).Returns(
                new Article
            {
                Id     = articleId,
                Title  = articleTitle,
                Text   = articleText,
                Author = articleAuthor
            }.ToOption()
                );
            var mockCommentsRepository = new Mock <ICommentRepository>();

            mockCommentsRepository.Setup(x => x.GetForArticle(articleId)).Returns(new List <Comment>());
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(x => x.GetRepository <IArticleRepository>()).Returns(mockArticleRepository.Object);
            mockUnitOfWork.Setup(x => x.GetRepository <ICommentRepository>()).Returns(mockCommentsRepository.Object);
            var mockUnitOfWorkFactory = new Mock <IUnitOfWorkFactory>();

            mockUnitOfWorkFactory.Setup(x => x.Create()).Returns(mockUnitOfWork.Object);
            var articleProcessor = new ArticleProcessorUoW(mockUnitOfWorkFactory.Object);

            ArticleInfo result = articleProcessor.GetArticleInfo(articleId);

            Assert.NotNull(result);
            Assert.NotNull(result.Comments);
            Assert.AreEqual(0, result.Comments.Count);
        }
Esempio n. 2
0
        public void GetArticleOk()
        {
            var mockArticleRepository = new Mock <IArticleRepository>();
            var articleId             = Guid.NewGuid();
            var articleTitle          = "article title";
            var articleText           = "article text";
            var articleAuthor         = "bob";

            mockArticleRepository.Setup(x => x.Get(articleId)).Returns(
                new Article
            {
                Id     = articleId,
                Title  = articleTitle,
                Text   = articleText,
                Author = articleAuthor
            }.ToOption()
                );
            var mockCommentsRepository = new Mock <ICommentRepository>();
            var commentId     = Guid.NewGuid();
            var commentText   = "comment text";
            var commentAuthor = "bob";

            mockCommentsRepository.Setup(x => x.GetForArticle(articleId)).Returns(
                new List <Comment>
            {
                new Comment
                {
                    Id        = commentId,
                    ArticleId = articleId,
                    Text      = commentText,
                    Author    = commentAuthor
                }
            }
                );
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(x => x.GetRepository <ICommentRepository>()).Returns(mockCommentsRepository.Object);
            mockUnitOfWork.Setup(x => x.GetRepository <IArticleRepository>()).Returns(mockArticleRepository.Object);
            var mockUnitOfWorkFactory = new Mock <IUnitOfWorkFactory>();

            mockUnitOfWorkFactory.Setup(x => x.Create()).Returns(mockUnitOfWork.Object);
            var articleProcessor = new ArticleProcessorUoW(mockUnitOfWorkFactory.Object);

            ArticleInfo result        = articleProcessor.GetArticleInfo(articleId);
            var         resultComment = result.Comments.FirstOrDefault();

            Assert.NotNull(result);
            Assert.AreEqual(articleTitle, result.Title);
            Assert.AreEqual(articleAuthor, result.Author);
            Assert.AreEqual(articleText, result.Text);
            Assert.AreEqual(1, result.Comments.Count);
            Assert.NotNull(resultComment);
            Assert.AreEqual(commentText, resultComment.Text);
            Assert.AreEqual(commentAuthor, resultComment.Author);
        }
Esempio n. 3
0
        public void GetNotExistArticleReturnNull()
        {
            var mockArticleRepository = new Mock <IArticleRepository>();
            var articleId             = Guid.NewGuid();

            mockArticleRepository.Setup(x => x.Get(articleId))
            .Returns(Option <Article> .Empty);
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(x => x.GetRepository <IArticleRepository>()).Returns(mockArticleRepository.Object);
            var mockUnitOfWorkFactory = new Mock <IUnitOfWorkFactory>();

            mockUnitOfWorkFactory.Setup(x => x.Create()).Returns(mockUnitOfWork.Object);
            var articleProcessor = new ArticleProcessorUoW(mockUnitOfWorkFactory.Object);

            ArticleInfo result = articleProcessor.GetArticleInfo(articleId);

            Assert.IsNull(result);
        }