public void GetTemplatesPaged_By_Default_Should_Return_AllTemplatesModel()
        {
            // Arrange.
            ITemplateManager manager = GetManager();

            // Act.
            AllTemplates result = manager.GetTemplatesPaged(null);

            // Assert.
            Assert.NotNull(result);
            Assert.Equal(2, result.TotalTemplates);
            Assert.Equal(2, result.Templates.Count());
            Assert.Equal(2, result.PageSize);
            Assert.Equal(1, result.PagesCount);
        }
        public void GetTemplatesPaged_Should_Throw_Exception_On_Incorrect_Input_Data(int currentPage, int pageSize, string expectedMessage)
        {
            // Arrange.
            ITemplateManager manager = GetManager();
            var pageInfo             = new PageInfo
            {
                CurrentPage = currentPage,
                PageSize    = pageSize
            };

            // Act.
            var exception = Assert.Throws <ArgumentException>(() => manager.GetTemplatesPaged(pageInfo));

            // Assert.
            Assert.Equal(expectedMessage, exception.Message);
        }
        public void GetTemplatesPaged_Should_Return_Empty_AllTemplatesModel()
        {
            // Arrange.
            ITemplateManager manager = GetManager();

            Templates.Clear();

            // Act.
            AllTemplates result = manager.GetTemplatesPaged(null);

            // Assert.
            Assert.NotNull(result);
            Assert.Equal(0, result.TotalTemplates);
            Assert.Empty(result.Templates);
            Assert.Equal(10, result.PageSize);
            Assert.Equal(1, result.PagesCount);
        }
        public void GetTemplatesPaged_Should_Return_Correct_AllTemplatesModel(int currentPage, int pageSize)
        {
            // Arrange.
            ITemplateManager manager = GetManager();
            var pageInfo             = new PageInfo
            {
                CurrentPage = currentPage,
                PageSize    = pageSize
            };

            // Act.
            AllTemplates result = manager.GetTemplatesPaged(pageInfo);

            // Assert.
            Assert.NotNull(result);
            Assert.NotEmpty(result.Templates);
            Assert.Equal(currentPage, result.CurrentPage);
            Assert.Equal(pageSize, result.PageSize);
        }