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); }