コード例 #1
0
        public void SortProductProjectionByReviewAverageRating()
        {
            Expression <Func <ProductProjection, double> > expression = p => p.ReviewRatingStatistics.AverageRating;
            ISortPredicateExpressionVisitor sortVisitor = this.linqFixture.GetService <ISortPredicateExpressionVisitor>();
            string result = sortVisitor.Render(expression);

            Assert.Equal("reviewRatingStatistics.averageRating", result);
        }
コード例 #2
0
        public void SortProductProjectionByName()
        {
            Expression <Func <ProductProjection, string> > expression = p => p.Name["en"];
            ISortPredicateExpressionVisitor sortVisitor = this.linqFixture.GetService <ISortPredicateExpressionVisitor>();
            string result = sortVisitor.Render(expression);

            Assert.Equal("name.en", result);
        }
コード例 #3
0
        public void SortProductProjectionByCreatedAt()
        {
            Expression <Func <ProductProjection, DateTime> > expression = p => p.CreatedAt;
            ISortPredicateExpressionVisitor sortVisitor = this.linqFixture.GetService <ISortPredicateExpressionVisitor>();
            string result = sortVisitor.Render(expression);

            Assert.Equal("createdAt", result);
        }
コード例 #4
0
        public void SortProductName()
        {
            Expression <Func <Product, string> > expression  = p => p.MasterData.Current.Name["en"];
            ISortPredicateExpressionVisitor      sortVisitor = this.linqFixture.GetService <ISortPredicateExpressionVisitor>();
            string result = sortVisitor.Render(expression);

            Assert.Equal("masterData.current.name.en", result);
        }
コード例 #5
0
        public void SortCategorySlug()
        {
            Expression <Func <Category, string> > expression  = c => c.Slug["en"];
            ISortPredicateExpressionVisitor       sortVisitor = this.linqFixture.GetService <ISortPredicateExpressionVisitor>();
            string result = sortVisitor.Render(expression);

            Assert.Equal("slug.en", result);
        }
コード例 #6
0
        public void SortCategoryParentTypeId()
        {
            Expression <Func <Category, string> > expression  = c => c.Parent.Id;
            ISortPredicateExpressionVisitor       sortVisitor = this.linqFixture.GetService <ISortPredicateExpressionVisitor>();
            string result = sortVisitor.Render(expression);

            Assert.Equal("parent.id", result);
        }
コード例 #7
0
        public void SortProductProjectionAttributeEnumKey()
        {
            Expression <Func <ProductProjection, string> > expression = p => p.Variants.Select(v => v.Attributes.Where(a => a.Name == "color").Select(a => ((EnumAttribute)a).Value.Key).FirstOrDefault()).FirstOrDefault();
            ISortPredicateExpressionVisitor sortVisitor = this.linqFixture.GetService <ISortPredicateExpressionVisitor>();
            string result = sortVisitor.Render(expression);

            Assert.Equal("variants.attributes.color.key", result);
        }
コード例 #8
0
        public void SortProductProjectionByMoneyAttribute()
        {
            Expression <Func <ProductProjection, string> > expression = p => p.Variants.Select(v => v.Attributes.Where(a => a.Name == "customMoney").Select(a => ((MoneyAttribute)a).Value.CentAmount.ToString()).FirstOrDefault()).FirstOrDefault();
            ISortPredicateExpressionVisitor sortVisitor = this.linqFixture.GetService <ISortPredicateExpressionVisitor>();
            string result = sortVisitor.Render(expression);

            Assert.Equal("variants.attributes.customMoney.centAmount", result);
        }