Skip to content

Commit c60573d

Browse files
committed
add big cart test
1 parent 9b3ef6d commit c60573d

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

commercetools/commercetools-sdk-java-api/src/integrationTest/java/commercetools/cart/CartIntegrationTests.java

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,26 @@
11

22
package commercetools.cart;
33

4+
import java.util.ArrayList;
45
import java.util.List;
56

67
import com.commercetools.api.models.cart.Cart;
8+
import com.commercetools.api.models.cart.CartDraft;
9+
import com.commercetools.api.models.cart.CartDraftBuilder;
10+
import com.commercetools.api.models.product.Product;
11+
import commercetools.product.ProductFixtures;
712
import commercetools.utils.CommercetoolsTestUtils;
813

914
import org.assertj.core.api.Assertions;
1015
import org.junit.jupiter.api.Test;
1116

17+
import static commercetools.cart.CartsFixtures.createCart;
18+
import static commercetools.cart.CartsFixtures.deleteCart;
19+
import static commercetools.category.CategoryFixtures.withCategory;
20+
import static commercetools.product.ProductFixtures.*;
21+
import static commercetools.product_type.ProductTypeFixtures.withProductType;
22+
import static commercetools.tax_category.TaxCategoryFixtures.withTaxCategory;
23+
1224
public class CartIntegrationTests {
1325
@Test
1426
public void queryByCustomerId() {
@@ -73,4 +85,30 @@ public void getByCustomerId() {
7385
});
7486
}
7587

88+
@Test
89+
public void bigCart() {
90+
withTaxCategory(taxCategory -> withCategory(category -> withProductType(createProductTypeDraft(), productType -> {
91+
List<Product> products = new ArrayList<>();
92+
for(int i = 0; i < 100; i++) {
93+
products.add(createProduct(productType, category, taxCategory, true));
94+
}
95+
96+
CartDraftBuilder cartDraft = CartDraft.builder()
97+
.currency("EUR")
98+
.country("DE");
99+
products.forEach(product -> cartDraft.plusLineItems(lineItemDraftBuilder -> lineItemDraftBuilder
100+
.sku(product.getMasterData().getCurrent().getMasterVariant().getSku())
101+
));
102+
103+
try {
104+
final long startTime = System.currentTimeMillis();
105+
Cart cart = createCart(cartDraft.build());
106+
final long executionTime = System.currentTimeMillis() - startTime;
107+
deleteCart(cart.getId(), cart.getVersion());
108+
} finally {
109+
products.forEach(ProductFixtures::deleteProduct);
110+
}
111+
})));
112+
}
113+
76114
}

commercetools/commercetools-sdk-java-api/src/integrationTest/java/commercetools/product/ProductFixtures.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ public static ProductTypeDraft createProductTypeDraft() {
114114
}
115115

116116
public static Product createProduct(ProductType productType, Category category, TaxCategory taxCategory) {
117+
return createProduct(productType, category, taxCategory, false);
118+
}
119+
120+
public static Product createProduct(ProductType productType, Category category, TaxCategory taxCategory, boolean publish) {
117121
String randomKey = CommercetoolsTestUtils.randomKey();
118122

119123
Map<String, String> orderHint = new HashMap<>();
@@ -171,7 +175,7 @@ public static Product createProduct(ProductType productType, Category category,
171175
.metaKeywords(CommercetoolsTestUtils.randomLocalizedString())
172176
.masterVariant(productVariantDraft)
173177
.taxCategory(TaxCategoryResourceIdentifierBuilder.of().id(taxCategory.getId()).build())
174-
.publish(false)
178+
.publish(publish)
175179
.build();
176180

177181
Product product = CommercetoolsTestUtils.getProjectApiRoot()

0 commit comments

Comments
 (0)