public void PostArticle_ShoulReturnBadResulIfLackOfFields()
        {
            var controller = new ArticleApiController(_testContext)
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration()
            };
            var item = _testDb.GetTestArticleDto();

            item.Name  = null;
            item.Text  = null;
            item.Title = null;
            item.Type  = null;
            item.Lang  = null;
            var result = TestHelper.ParseResponse(controller.PostArticle(item));

            Assert.IsNotNull(result);
            Assert.AreEqual(result.StatusCode, HttpStatusCode.BadRequest.ToString());
            Assert.AreEqual(result.IsSuccessStatusCode, false);
            Assert.AreEqual(result.ResponseCode, RespH.SRV_ARTICLE_REQUIRED);
            Assert.IsTrue(result.ResponseData.Contains("Name"));
            Assert.IsTrue(result.ResponseData.Contains("Title"));
            Assert.IsTrue(result.ResponseData.Contains("Text"));
            Assert.IsTrue(result.ResponseData.Contains("Type"));
            Assert.IsTrue(result.ResponseData.Contains("Lang"));
        }
        public void DeleteArticleReturnsOk()
        {
            // Arrange
            var articleRepository = new Mock <IArticleRepository>();
            var controller        = new ArticleApiController(articleRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.RemoveArticle(10);

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(OkNegotiatedContentResult <bool>));
        }
        public void GetArticleReturnsNotFound()
        {
            // Arrange
            var articleRepository = new Mock <IArticleRepository>();
            var controller        = new ArticleApiController(articleRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.GetArticleById(10);

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(OkNegotiatedContentResult <ArticleDTO>));
        }
        public void PostArticle_ShoulReturnBadResulIfObjectIsNull()
        {
            var controller = new ArticleApiController(_testContext)
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration()
            };

            var result = TestHelper.ParseResponse(controller.PostArticle(null));

            Assert.IsNotNull(result);
            Assert.AreEqual(result.StatusCode, HttpStatusCode.BadRequest.ToString());
            Assert.AreEqual(result.IsSuccessStatusCode, false);
            Assert.AreEqual(result.ResponseCode, RespH.SRV_ARTICLE_NULL);
        }
        public void PostArticle_ShouldReturnOkResult()
        {
            var controller = new ArticleApiController(_testContext)
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration()
            };

            var item = _testDb.GetTestArticleDto();

            var result = TestHelper.ParseResponse(controller.PostArticle(item));

            Assert.IsNotNull(result);
            Assert.AreEqual(result.StatusCode, HttpStatusCode.OK.ToString());
            Assert.AreEqual(result.IsSuccessStatusCode, true);
            Assert.AreEqual(result.ResponseCode, RespH.SRV_CREATED);
            Assert.IsNotNull(result.ResponseData[0]);
        }
        public void GetArticleByIdTest()
        {
            //Arrange
            var articleRepository = new Mock <IArticleRepository>();

            articleRepository.Setup(x => x.GetArticleById(1)).Returns(new ArticleDTO {
                ArticleId = 1
            });

            var controller = new ArticleApiController(articleRepository.Object);

            //Act
            IHttpActionResult actionResult = controller.GetArticleById(1);
            var contentResult = actionResult as OkNegotiatedContentResult <ArticleDTO>;

            //Assert
            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(1, contentResult.Content.ArticleId);
        }
 private void GetArticleApiController()
 {
     _controller = new ArticleApiController(_context, _mappingHelper);
 }