示例#1
0
        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);
        }
示例#2
0
        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);
        }