public void ForumHomePresenter_ShouldReturnCorrectPageCountToView() { var view = new Mock <IForumHomeView>(); view.SetupAllProperties(); var forumData = new Mock <IForumData>(); var presenter = new ForumHomePresenter(view.Object, forumData.Object); var exprectedThreadsCount = 3; var threads = new List <Thread>() { new Thread() { Id = 1, IsVisible = true }, new Thread() { Id = 2, IsVisible = true }, new Thread() { Id = 3, IsVisible = true } }; forumData.Setup(d => d.ThreadsRepository.GetAllThreads()).Returns(threads.AsQueryable); view.Raise(v => v.LoadPage += null, view.Object, new ForumHomeEventArgs(1)); Assert.AreEqual(exprectedThreadsCount, view.Object.Model.PageCount); }
public void ForumHomePresenter_ShouldPopulateCorrectPageWithRightThreads(int page) { var view = new Mock <IForumHomeView>(); view.SetupAllProperties(); var forumData = new Mock <IForumData>(); var threads = new List <Thread>() { new Thread() { Id = 1, IsVisible = true }, new Thread() { Id = 2, IsVisible = true }, new Thread() { Id = 3, IsVisible = true }, new Thread() { Id = 4, IsVisible = true }, new Thread() { Id = 5, IsVisible = true }, new Thread() { Id = 6, IsVisible = true }, new Thread() { Id = 7, IsVisible = true } }; forumData.Setup(d => d.ThreadsRepository.GetAllThreads()).Returns(threads.AsQueryable); var presenter = new ForumHomePresenter(view.Object, forumData.Object); view.Raise(v => v.LoadPage += null, view.Object, new ForumHomeEventArgs(page)); CollectionAssert.AreEqual(threads.Skip((page - 1) * GlobalConstants.PageSize).Take(GlobalConstants.PageSize), view.Object.Model.Threads); }