Beispiel #1
0
        public async Task WHEN_category_id_found_SHOULD_return_view_model()
        {
            // Arrange
            var categories = new List <Category>
            {
                new Category
                {
                    Id          = GetRandom.String(10),
                    DisplayName = new LocalizedString(new Dictionary <string, string> {
                        { CultureName, "level1_0" }
                    })
                }
            };

            SetupCategoryRepository(categories);
            SetupCategoryUrlProvider();

            CategoryBrowsingViewService service = _container.CreateInstance <CategoryBrowsingViewService>();

            // Act
            CategoryBrowsingViewModel model = await service.GetCategoryBrowsingViewModelAsync(new GetCategoryBrowsingViewModelParam
            {
                CategoryId     = categories[0].Id,
                SelectedFacets = new List <SearchFilter>()
            });

            // Assert
            model.Should().NotBeNull();
            model.CategoryId.Should().Be(categories[0].Id);
        }
Beispiel #2
0
        public async Task WHEN_selected_category_is_children_SHOULD_return_filled_landingPageUrls()
        {
            // Arrange
            var level1Id = "level1";
            var level2Id = "level2";
            var level3Id = "level3";

            var categories = new List <Category>
            {
                new Category
                {
                    Id          = level1Id,
                    DisplayName = new LocalizedString(new Dictionary <string, string> {
                        { CultureName, "level1_0" }
                    })
                },
                new Category
                {
                    Id          = level2Id,
                    DisplayName = new LocalizedString(new Dictionary <string, string> {
                        { CultureName, "level2_0" }
                    }),
                    PrimaryParentCategoryId = level1Id
                },
                new Category
                {
                    Id          = level3Id,
                    DisplayName = new LocalizedString(new Dictionary <string, string> {
                        { CultureName, "level3_0" }
                    }),
                    PrimaryParentCategoryId = level2Id
                }
            };

            SetupCategoryRepository(categories);
            SetupCategoryUrlProvider();

            CategoryBrowsingViewService service = _container.CreateInstance <CategoryBrowsingViewService>();

            // Act
            CategoryBrowsingViewModel model = await service.GetCategoryBrowsingViewModelAsync(new GetCategoryBrowsingViewModelParam
            {
                CategoryId     = level3Id,
                SelectedFacets = new List <SearchFilter>()
            });

            //Assert
            model.Should().NotBeNull();
            model.LandingPageUrls.Should().NotBeNullOrEmpty();
            model.LandingPageUrls.Should().HaveCount(2);
            model.LandingPageUrls[0].Should().EndWith(level1Id);
            model.LandingPageUrls[1].Should().EndWith(level2Id);
        }