public void TestGetAddArticle()
        {
            //Arrange
            List<Subject> subjects = new List<Subject>();
            for (int i = 1; i <= 7; i++)
            {
                subjects.Add(new Subject());
            }
            Mock<IContentRepository> mockRepo = new Mock<IContentRepository>();
            mockRepo.Setup(x => x.Subjects()).Returns(subjects);
            ManageContentController target = new ManageContentController(mockRepo.Object);

            //Act
            ViewResult result = target.AddArticle() as ViewResult;

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("", result.ViewName);
            AddArticleViewModel returnedModel = result.Model as AddArticleViewModel;
            int count = 0;
            foreach(var subject in returnedModel.Articles) {
                count++;
            }
            Assert.AreEqual(7, count);
        }
        public void TestPostAddArticleValidModelNoImage()
        {
            //Arrange
            AddArticleViewModel viewModel = new AddArticleViewModel
            {
                Headline = "Fake Headline",
                Text = "Fake Text"
            };
            Mock<IContentRepository> mockRepo = new Mock<IContentRepository>();
            mockRepo.Setup(x => x.GetSubject(It.IsAny<int>())).Returns(new Subject());
            mockRepo.Setup(x => x.GetUser(It.IsAny<string>())).Returns(new AppUser());
            mockRepo.Setup(x => x.AddArticle(It.IsAny<Article>()));
            mockRepo.Setup(x => x.SaveChanges());
            ManageContentController target = new ManageContentController(mockRepo.Object);

            //Act
            RedirectToRouteResult result = target.AddArticle(viewModel) as RedirectToRouteResult;

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("Admin", result.RouteValues["Controller"]);
            Assert.AreEqual("EditContent", result.RouteValues["Action"]);
            Assert.IsTrue(target.ModelState.IsValid);
        }