public void Index_PageGet_ReturnsFeaturedOnlyArticlesInThePast() { //Arrange var featuredNews = new FeaturedNews(); var notFeatured = new NewsArticle(); var featuredInThePast = new NewsArticle(); featuredInThePast.Featured = true; featuredInThePast.Date = DateTime.Now.AddDays(-1); var featuredInTheFuture = new NewsArticle(); featuredInTheFuture.Featured = true; featuredInTheFuture.Date = DateTime.Now.AddDays(+1); featuredNews.NewsArticles = new[] { notFeatured, featuredInThePast, featuredInTheFuture }; var context = Substitute.For<ISitecoreContext>(); context.GetCurrentItem<FeaturedNews>().Returns(featuredNews); var controller = new StubFeaturedNewsController(context, null); //Act var result = controller.Index() as ViewResult; //Assert var model = result.Model as IndexGet; Assert.IsNotNull(result); Assert.AreEqual(featuredNews, model.FeaturedNews); Assert.AreEqual(featuredInThePast, model.Articles.First()); Assert.AreEqual(1, model.Articles.Count()); }
public void Index_PageGet_ReturnsViewModelWithPageAndArticles() { //Arrange var featuredNews = new FeaturedNews(); var article = new NewsArticle(); article.Featured = true; featuredNews.NewsArticles = new []{article}; var context = Substitute.For<ISitecoreContext>(); context.GetCurrentItem<FeaturedNews>().Returns(featuredNews); var controller = new StubFeaturedNewsController(context, null); //Act var result = controller.Index() as ViewResult; //Assert var model = result.Model as IndexGet; Assert.IsNotNull(result); Assert.AreEqual(featuredNews, model.FeaturedNews); Assert.AreEqual(article, model.Articles.First()); Assert.AreEqual(1, model.Articles.Count()); }