public MoneyFacetSearchModel<ProductProjection> ofMoneySet(final String attributeName) { return ofMoney(attributeName); }
public MoneyFacetSearchModel<ProductProjection> ofMoneySet(final String attributeName) { return ofMoney(attributeName); }
public MoneyFacetSearchModel<ProductProjection> ofMoneySet(final String attributeName) { return ofMoney(attributeName); }
@Test public void onMoneyAmountRangedAttributes() throws Exception { testRangeStats(FACET.allVariants().attribute().ofMoney(ATTR_NAME_MONEY).centAmount().onlyGreaterThanOrEqualTo(0L), rangeStats -> { assertThat(rangeStats.getLowerEndpoint()).isEqualTo("0.0"); assertThat(rangeStats.getUpperEndpoint()).isEqualTo(null); assertThat(rangeStats.getCount()).isEqualTo(2L); assertThat(rangeStats.getMin()).isEqualTo("50000.0"); assertThat(rangeStats.getMax()).isEqualTo("100000.0"); assertThat(rangeStats.getSum()).isEqualTo("150000.0"); assertThat(rangeStats.getMean()).isEqualTo(75000D); }); }
@Test public void canAccessMoneyCentAmountCustomAttributes() throws Exception { final String attrName = "originalPrice"; assertThat(FACET_ATTR.ofMoney(attrName).centAmount().allTerms().expression()).isEqualTo("variants.attributes.originalPrice.centAmount"); assertThat(FILTER_ATTR.ofMoney(attrName).centAmount().is(1000L)).extracting(expression()).containsExactly("variants.attributes.originalPrice.centAmount:1000"); assertThat(SORT_ATTR.ofMoney(attrName).centAmount().ascWithMaxValue().expression()).isEqualTo("variants.attributes.originalPrice.centAmount asc.max"); }
@Test public void canAccessCurrencyCustomAttributes() throws Exception { final String attrName = "originalPrice"; assertThat(FACET_ATTR.ofMoney(attrName).currency().allTerms().expression()).isEqualTo("variants.attributes.originalPrice.currencyCode"); assertThat(FILTER_ATTR.ofMoney(attrName).currency().is(currency("EUR"))).extracting(expression()).containsExactly("variants.attributes.originalPrice.currencyCode:\"EUR\""); assertThat(SORT_ATTR.ofMoney(attrName).currency().descWithMinValue().expression()).isEqualTo("variants.attributes.originalPrice.currencyCode desc.min"); }
@Test public void onMoneyAmountAttributes() throws Exception { testTermStats(FACET.allVariants().attribute().ofMoney(ATTR_NAME_MONEY).centAmount().allTerms(), termStats -> assertThat(termStats).containsOnly( TermStats.of("50000", 1L), TermStats.of("100000", 1L))); }
@Test public void onMoneyCurrencyAttributes() throws Exception { testTermStats(FACET.allVariants().attribute().ofMoney(ATTR_NAME_MONEY).currency().allTerms(), termStats -> assertThat(termStats).containsOnly( TermStats.of("EUR", 1L), TermStats.of("USD", 1L))); }