Skip to content

Commit

Permalink
Merge pull request #346 from commercetools/fix-productdatalike
Browse files Browse the repository at this point in the history
  • Loading branch information
jenschude committed Jul 29, 2022
2 parents 26349be + 976aa30 commit abd0b2b
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.commercetools.api.models.common.LocalizedString;
import com.commercetools.api.models.common.MetaAttributes;
import com.commercetools.api.models.common.WithLocalizedSlug;
import com.fasterxml.jackson.annotation.JsonIgnore;

/**
* Interface to describe commonalities between differen product representations
Expand Down Expand Up @@ -60,6 +61,7 @@ public interface ProductDataLike extends WithLocalizedSlug, MetaAttributes {
* @see #getVariants()
* @return all variants
*/
@JsonIgnore
default List<ProductVariant> getAllVariants() {
return ProductsPackage.getAllVariants(this);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
import java.util.stream.Collectors;

import com.commercetools.api.models.common.LocalizedStringBuilder;
import com.commercetools.api.models.product.ProductDraft;
import com.commercetools.api.models.product.ProductDraftBuilder;
import com.commercetools.api.models.product.ProductVariantDraft;
import com.commercetools.api.models.product.ProductVariantDraftBuilder;
import com.commercetools.api.models.product.*;
import com.commercetools.api.models.product_type.ProductTypeResourceIdentifierBuilder;
import com.fasterxml.jackson.core.JsonProcessingException;

import io.vrap.rmf.base.client.utils.json.JsonUtils;

import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
Expand All @@ -37,4 +37,15 @@ public void draft() {
Assertions.assertThat(draft.getVariants()).hasSize(1);
Assertions.assertThat(draft.getVariants().get(0).getSku()).isEqualTo("def");
}

@Test
public void serializeProduct() throws JsonProcessingException {
final ProductProjection productProjection = ProductProjection.builder()
.masterVariant(b -> b.sku("foo").id(1L))
.plusVariants(b -> b.sku("bar").id(2L))
.buildUnchecked();

Assertions.assertThat(JsonUtils.toJsonString(productProjection))
.isEqualTo("{\"masterVariant\":{\"id\":1,\"sku\":\"foo\"},\"variants\":[{\"id\":2,\"sku\":\"bar\"}]}");
}
}

0 comments on commit abd0b2b

Please sign in to comment.