Example #1
0
        public static SearchProductProjectionsCommand TermFacet(this SearchProductProjectionsCommand command, string alias, Expression <Func <ProductProjection, IComparable> > expression)
        {
            var p         = command.SearchParameters as ProductProjectionSearchParameters;
            var termFacet = new TermFacet <ProductProjection>(expression);

            termFacet.Alias = alias;
            p.Facets.Add(termFacet.ToString());

            return(command);
        }
Example #2
0
        public void ToString_TermFacet()
        {
            var term = new TermFacet
            {
                Field = "fieldName",
                Name  = "myTermFacet",
                Size  = 3
            };

            var expected = "\"myTermFacet\":{\"field\":\"fieldName\",\"size\":3}";
            var actual   = term.ToString().Replace(Environment.NewLine, string.Empty).Replace(" ", string.Empty);

            Assert.Equal(expected, actual);
        }
Example #3
0
        public void ToString_TermFacet()
        {
            var term = new TermFacet
            {
                Field = "fieldName",
                Name  = "myTermFacet",
                Size  = 3
            };

            var expected = "\"myTermFacet\":{\"field\":\"fieldName\",\"size\":3}";
            var actual   = term.ToString().Replace("\r\n", "").Replace(" ", "");

            Assert.AreEqual(expected, actual);
        }
Example #4
0
        public void GetProductProjectionsTermFacet()
        {
            IClient commerceToolsClient          = this.productFixture.GetService <IClient>();
            Facet <ProductProjection> colorFacet = new TermFacet <ProductProjection>(p => p.Variants.Select(v => v.Attributes.Where(a => a.Name == "color").Select(a => ((EnumAttribute)a).Value.Key).FirstOrDefault()).FirstOrDefault());

            ProductProjectionSearchParameters searchParameters = new ProductProjectionSearchParameters();

            searchParameters.SetFacets(new List <Facet <ProductProjection> >()
            {
                colorFacet
            });
            SearchProductProjectionsCommand      searchProductProjectionsCommand = new SearchProductProjectionsCommand(searchParameters);
            PagedQueryResult <ProductProjection> results = commerceToolsClient.ExecuteAsync(searchProductProjectionsCommand).Result;
            int facetCount = ((TermFacetResult)results.Facets["variants.attributes.color.key"]).Terms.Count();

            Assert.Equal(18, facetCount);
        }