Example #1
0
        public void CallGetArticleByIdOnce()
        {
            // Arrange
            var mockedMappingService = new Mock <IMappingService>();
            var mockedArticleService = new Mock <IArticleService>();
            var articleId            = Guid.NewGuid();

            Article article = new Article()
            {
                Title     = "title",
                Id        = articleId,
                Subheader = "subheader",
                Content   = "conteeent"
            };

            ArticleByIdViewModel viewModel = new ArticleByIdViewModel()
            {
                Title     = "title",
                Id        = articleId.ToString(),
                Subheader = "subheader",
                Content   = "conteeent"
            };

            mockedArticleService.Setup(x => x.GetArticleById(articleId.ToString())).Returns(article);
            mockedMappingService.Setup(x => x.Map <Article, ArticleByIdViewModel>(It.IsAny <Article>())).Returns(viewModel);

            var controller = new ArticleController(mockedMappingService.Object, mockedArticleService.Object);

            // Act
            controller.ById(viewModel.Id);

            // Assert
            mockedArticleService.Verify(x => x.GetArticleById(It.IsAny <string>()), Times.Once);
        }
Example #2
0
        public void ReturnViewWithModelWithCorrectProperties()
        {
            // Arrange
            var mockedMappingService = new Mock <IMappingService>();
            var mockedArticleService = new Mock <IArticleService>();
            var articleId            = Guid.NewGuid();

            Article article = new Article()
            {
                Title     = "title",
                Id        = articleId,
                Subheader = "subheader",
                Content   = "conteeent"
            };

            ArticleByIdViewModel viewModel = new ArticleByIdViewModel()
            {
                Title     = "title",
                Id        = articleId.ToString(),
                Subheader = "subheader",
                Content   = "conteeent"
            };

            mockedArticleService.Setup(x => x.GetArticleById(articleId.ToString())).Returns(article);
            mockedMappingService.Setup(x => x.Map <Article, ArticleByIdViewModel>(It.IsAny <Article>())).Returns(viewModel);

            var controller = new ArticleController(mockedMappingService.Object, mockedArticleService.Object);

            // Act & Assert
            controller.WithCallTo(x => x.ById(viewModel.Id))
            .ShouldRenderDefaultView()
            .WithModel <ArticleByIdViewModel>(m =>
            {
                Assert.AreEqual(article.Title, m.Title);
                Assert.AreEqual(article.Subheader, m.Subheader);
                Assert.AreEqual(article.Content, m.Content);
            });
        }