public static ExternalTaxRateDraftBuilder ofSubRates(final List<SubRate> subRates, final String name, final CountryCode country) { return new ExternalTaxRateDraftBuilder(name, country).subRates(subRates); }
public static ExternalTaxRateDraftBuilder ofSubRates(final List<SubRate> subRates, final String name, final CountryCode country) { return new ExternalTaxRateDraftBuilder(name, country).subRates(subRates); }
final ExternalTaxRateDraft externalTaxRate = ExternalTaxRateDraftBuilder.ofAmount(rate, taxRateName, DE) .subRates(subRates) .build(); final AddLineItem updateAction = AddLineItem.of(product, variantId, quantity)
@Test public void addLineItemOnPlatformCart() { withProductOfPrices(client(), singletonList(PriceDraft.of(EURO_10)), (Product product) -> { final CartDraft draft = CartDraft.of(EUR);//uses by default platform! withCartDraft(client(), draft, (Cart cart) -> { final int quantity = 3; final int variantId = product.getMasterData().getStaged().getMasterVariant().getId(); final String taxRateName = "special tax"; final double taxRate = 0.20; final List<SubRate> subRates = asList(SubRate.of("foo", 0.11), SubRate.of("bar", 0.09)); final ExternalTaxRateDraft externalTaxRate = ExternalTaxRateDraftBuilder.ofAmount(taxRate, taxRateName, DE) .subRates(subRates) .build(); final AddLineItem updateAction = AddLineItem.of(product, variantId, quantity) .withExternalTaxRate(externalTaxRate); final Throwable throwable = catchThrowable(() -> client().executeBlocking(CartUpdateCommand.of(cart, updateAction))); //the error message is sth. like "Cannot set an external tax rate on a cart with taxMode 'Platform'." assertThat(throwable).isInstanceOf(ErrorResponseException.class); return cart; }); }); }
final ExternalTaxRateDraft externalTaxRate = ExternalTaxRateDraftBuilder.ofAmount(rate, taxRateName, DE) .subRates(subRates) .build(); final AddLineItem updateAction = AddLineItem.of(product, variantId, quantity)