Beispiel #1
0
        public void Then_Has_Keyword_And_OrderBy_Then_Builds_QueryString_With_Keyword_And_OrderBy(Generator <int> selectedLevelsGenerator, string keyword)
        {
            //Arrange Act
            var selectedLevels = selectedLevelsGenerator.Distinct().Take(3).ToList();

            var model = CoursesViewModelFactory.BuildModel(new List <string>(), keyword, selectedLevels);

            //Assert
            var clearLinkCount = selectedLevels.Count;

            Assert.AreEqual(clearLinkCount, model.ClearLevelLinks.Count);

            foreach (var selectedLevel in selectedLevels)
            {
                var levelViewModel = model.Levels.SingleOrDefault(c => c.Code.Equals(selectedLevel));

                Assert.IsNotNull(levelViewModel);
                Assert.IsTrue(model.ClearLevelLinks.ContainsKey(levelViewModel.Title));

                AssertClearLevelLink(model, clearLinkCount);

                Assert.AreEqual(clearLinkCount, model.ClearLevelLinks.Count(c => c.Value.Contains($"keyword={keyword}")));
                Assert.AreEqual(clearLinkCount, model.ClearLevelLinks.Count(c => c.Value.Contains($"orderby={OrderBy.Name}")));
            }
        }
        public void Then_If_There_Are_Filtered_Keywords_The_ShowFilterOptions_Property_Is_True(string keyword)
        {
            //Arrange Act
            var model = CoursesViewModelFactory.BuildModel(new List <string>(), keyword, new List <int>());

            //Assert
            Assert.IsTrue(model.ShowFilterOptions);
        }
        public void Then_If_There_Is_No_Keyword_Search_And_OrderBy_It_Is_Set_To_None()
        {
            //Arrange Act
            var model = CoursesViewModelFactory.BuildModel(new List <string>(), "", new List <int>());

            //Assert
            Assert.AreEqual(OrderBy.None, model.OrderBy);
        }
        public void Then_If_There_Are_Filtered_Levels_Sectors_Keywords_The_ShowFilterOptions_Property_Is_True(List <int> selectedLevels, List <string> selectedRoutes, string keyword)
        {
            //Arrange Act
            var model = CoursesViewModelFactory.BuildModel(selectedRoutes, keyword, selectedLevels);

            //Assert
            Assert.IsTrue(model.ShowFilterOptions);
        }
        public void Then_If_There_Are_No_Filtered_Options_The_ShowFilterOptions_Property_Is_False()
        {
            //Arrange Act
            var model = CoursesViewModelFactory.BuildModel(new List <string>(), "", new List <int>());

            //Assert
            Assert.IsFalse(model.ShowFilterOptions);
        }
        public void Then_If_There_Is_A_Keyword_Search_And_OrderBy_It_Is_Maintained()
        {
            //Arrange Act
            var model = CoursesViewModelFactory.BuildModel(new List <string>(), "test", new List <int>());

            //Assert
            Assert.AreEqual(OrderBy.Name, model.OrderBy);
        }
        public void Then_Adds_Levels_To_Query_String(List <int> selectedLevels)
        {
            // Act
            var model = CoursesViewModelFactory.BuildModel(new List <string>(), null, selectedLevels);

            // Assert
            model.OrderByName.Should().Be($"?orderby={OrderBy.Name}&levels={string.Join("&levels=", selectedLevels)}");
            model.OrderByRelevance.Should().Be($"?orderby={OrderBy.Relevance}&levels={string.Join("&levels=", selectedLevels)}");
        }
        public void Then_Adds_Sectors_And_Levels_To_Query_String(List <int> selectedLevels, List <string> selectedRoutes)
        {
            // Act
            var model = CoursesViewModelFactory.BuildModel(selectedRoutes, null, selectedLevels);

            // Assert
            model.OrderByName.Should().Be($"?orderby={OrderBy.Name}&sectors={string.Join("&sectors=", selectedRoutes.Select(HttpUtility.HtmlEncode))}&levels={string.Join("&levels=", selectedLevels)}");
            model.OrderByRelevance.Should().Be($"?orderby={OrderBy.Relevance}&sectors={string.Join("&sectors=", selectedRoutes.Select(HttpUtility.HtmlEncode))}&levels={string.Join("&levels=", selectedLevels)}");
        }
        public void Then_Adds_Keyword_To_Query_String(string keyword)
        {
            // Arrange Act
            var model = CoursesViewModelFactory.BuildModel(new List <string>(), keyword, new List <int>());

            // Assert
            model.OrderByName.Should().Be($"?keyword={model.Keyword}&orderby={OrderBy.Name}");
            model.OrderByRelevance.Should().Be($"?keyword={model.Keyword}&orderby={OrderBy.Relevance}");
        }
        public void Then_Adds_OrderBy_Name_To_Query_String()
        {
            // Arrange Act
            var model = CoursesViewModelFactory.BuildModel(new List <string>(), null, new List <int>());

            // Assert
            model.OrderByName.Should().Be($"?orderby={OrderBy.Name}");
            model.OrderByRelevance.Should().Be($"?orderby={OrderBy.Relevance}");
        }
        public void Then_The_Clear_Keyword_Link_Is_Generated_If_Filtered_By_Keyword_With_Sectors_And_Levels(List <string> selectedRoutes, List <int> selectedLevels, string keyword)
        {
            //Arrange Act
            var model = CoursesViewModelFactory.BuildModel(selectedRoutes, keyword, selectedLevels);

            //Assert
            Assert.IsNotNull(model.ClearKeywordLink);
            Assert.AreEqual("?sectors=" + string.Join("&sectors=", model.SelectedSectors.Select(HttpUtility.HtmlEncode)) + "&levels=" + string.Join("&levels=", model.SelectedLevels), model.ClearKeywordLink);
        }
        public void Then_The_Clear_Keyword_Link_Is_Generated_If_Filtered_By_Keyword_With_Levels(List <int> selectedLevels, string keyword)
        {
            //Arrange Act
            var model = CoursesViewModelFactory.BuildModel(new List <string>(), keyword, selectedLevels);

            //Assert
            Assert.IsNotNull(model.ClearKeywordLink);
            Assert.AreEqual("?levels=" + string.Join("&levels=", model.SelectedLevels), model.ClearKeywordLink);
        }
Beispiel #13
0
        public void Then_The_Clear_Filter_Items_Are_Built_From_The_Selected_Sectors(List <string> selectedRoutes, string keyword)
        {
            //Arrange Act
            var model = CoursesViewModelFactory.BuildModel(selectedRoutes, keyword, new List <int>());

            //Assert
            var clearLinkCount = selectedRoutes.Count;

            Assert.AreEqual(clearLinkCount, model.ClearSectorLinks.Count);

            foreach (var selectedRoute in selectedRoutes)
            {
                var sector = model.Sectors.SingleOrDefault(c => c.Route.Equals(selectedRoute));

                Assert.IsNotNull(sector);
                Assert.IsTrue(model.ClearSectorLinks.ContainsKey(sector.Route));
                Assert.AreEqual(clearLinkCount - 1, model.ClearSectorLinks.Count(c => c.Value.Contains($"sectors={HttpUtility.HtmlEncode(selectedRoute)}")));
                Assert.AreEqual(clearLinkCount, model.ClearSectorLinks.Count(c => c.Value.Contains($"keyword={keyword}")));
            }
        }
Beispiel #14
0
        public void Then_The_Clear_Filter_Items_Are_Built_From_The_Selected_Levels_And_Sectors(Generator <int> selectedLevelsGenerator, List <string> selectedRoutes, string keyword)
        {
            //Arrange Act
            var selectedLevels = selectedLevelsGenerator.Distinct().Take(3).ToList();

            var model = CoursesViewModelFactory.BuildModel(selectedRoutes, keyword, selectedLevels);

            //Assert
            var clearSectorsLinkCount = selectedRoutes.Count;

            Assert.AreEqual(clearSectorsLinkCount, model.ClearSectorLinks.Count);
            var clearLevelsLinkCount = selectedLevels.Count;

            Assert.AreEqual(clearLevelsLinkCount, model.ClearLevelLinks.Count);

            foreach (var selectedLevel in selectedLevels)
            {
                var levelViewModel = model.Levels.SingleOrDefault(c => c.Code.Equals(selectedLevel));

                Assert.IsNotNull(levelViewModel);
                Assert.IsTrue(model.ClearLevelLinks.ContainsKey(levelViewModel.Title));

                AssertClearLevelLink(model, clearLevelsLinkCount);

                Assert.AreEqual(clearLevelsLinkCount, model.ClearLevelLinks.Count(c => c.Value.Contains($"?keyword={keyword}")));
                Assert.AreEqual(clearLevelsLinkCount, model.ClearLevelLinks.Count(c => c.Value.Contains("&sectors=" + string.Join("&sectors=", selectedRoutes.Select(HttpUtility.HtmlEncode)))));
                Assert.AreEqual(clearLevelsLinkCount, model.ClearLevelLinks.Count(c => c.Value.Contains($"orderby=")));
            }
            foreach (var selectedRoute in selectedRoutes)
            {
                var sector = model.Sectors.SingleOrDefault(c => c.Route.Equals(selectedRoute));

                Assert.IsNotNull(sector);
                Assert.IsTrue(model.ClearSectorLinks.ContainsKey(sector.Route));
                Assert.AreEqual(clearSectorsLinkCount - 1, model.ClearSectorLinks.Count(c => c.Value.Contains($"sectors={HttpUtility.HtmlEncode(selectedRoute)}")));
                Assert.AreEqual(clearSectorsLinkCount, model.ClearSectorLinks.Count(c => c.Value.Contains($"?keyword={keyword}")));
                Assert.AreEqual(clearSectorsLinkCount, model.ClearSectorLinks.Count(c => c.Value.Contains("&levels=" + string.Join("&levels=", model.SelectedLevels))));
                Assert.AreEqual(clearSectorsLinkCount, model.ClearSectorLinks.Count(c => c.Value.Contains($"orderby=")));
            }
        }
Beispiel #15
0
        public void Then_The_Clear_Filter_Items_Are_Built_From_The_Selected_Levels(Generator <int> selectedLevelsGenerator)
        {
            //Arrange Act
            var selectedLevels = selectedLevelsGenerator.Distinct().Take(3).ToList();

            var model = CoursesViewModelFactory.BuildModel(new List <string>(), "", selectedLevels);

            //Assert
            var clearLinkCount = selectedLevels.Count;

            Assert.AreEqual(clearLinkCount, model.ClearLevelLinks.Count);

            foreach (var selectedLevel in selectedLevels)
            {
                var levelViewModel = model.Levels.SingleOrDefault(c => c.Code.Equals(selectedLevel));

                Assert.IsNotNull(levelViewModel);
                Assert.IsTrue(model.ClearLevelLinks.ContainsKey(levelViewModel.Title));

                AssertClearLevelLink(model, clearLinkCount);

                Assert.AreEqual(0, model.ClearLevelLinks.Count(c => c.Value.Contains("orderby=")));
            }
        }