diff --git a/changes.md b/changes.md index 4d6aede894f..8247f6c6f18 100644 --- a/changes.md +++ b/changes.md @@ -1,5 +1,14 @@ **Api changes** +
+Added Type(s) + +- added type `DiscountCombinationMode` +- added type `DiscountsConfiguration` +- added type `ProjectSetDiscountsConfigurationAction` +
+ +
Removed Property(s) @@ -10,6 +19,7 @@
Added Property(s) +- added property `discounts` to type `Project` - added property `skipConfigurationInputDraft` to type `RecurringOrderSetOrderSkipConfigurationAction`
diff --git a/commercetools/commercetools-graphql-api/src/main/resources/graphql/schema.graphqls b/commercetools/commercetools-graphql-api/src/main/resources/graphql/schema.graphqls index 698986cff85..715a81dea97 100644 --- a/commercetools/commercetools-graphql-api/src/main/resources/graphql/schema.graphqls +++ b/commercetools/commercetools-graphql-api/src/main/resources/graphql/schema.graphqls @@ -4563,6 +4563,14 @@ type DiscountedTotalPricePortion { discountedAmount: BaseMoney! } +type DiscountsConfiguration { + discountCombinationMode: DiscountCombinationMode! +} + +input DiscountsConfigurationInput { + discountCombinationMode: DiscountCombinationMode +} + type EnumAttribute implements Attribute { key: String! label: String! @@ -9965,6 +9973,11 @@ type ProductVariantTailoringRemoved implements MessagePayload { type: String! } +enum DiscountCombinationMode { + Stacking + BestDeal +} + "Contains information about the limits of your project." type ProjectCustomLimitsProjection { query: QueryLimitsProjection! @@ -10006,6 +10019,7 @@ type ProjectProjection { currencies: [Currency!]! shippingRateInputType: ShippingRateInputType createdAt: DateTime! + discounts: DiscountsConfiguration } input ProjectSettingsUpdateAction { @@ -10032,6 +10046,7 @@ input ProjectSettingsUpdateAction { "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" changeProductSearchIndexingEnabled: ChangeProjectSettingsProductSearchIndexingEnabled + setDiscountsConfiguration: SetProjectSettingsDiscountsConfiguration } input PublishProduct { @@ -13440,6 +13455,10 @@ input SetProjectSettingsMyBusinessUnitAssociateRoleOnCreation { associateRole: ResourceIdentifierInput } +input SetProjectSettingsDiscountsConfiguration { + discountsConfiguration: DiscountsConfigurationInput! +} + input SetProjectSettingsShippingRateInputType { shippingRateInputType: ShippingRateInputTypeInput } diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountCombinationMode.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountCombinationMode.java new file mode 100644 index 00000000000..00fea8f8dc3 --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountCombinationMode.java @@ -0,0 +1,115 @@ + +package com.commercetools.api.models.project; + +import java.util.Arrays; +import java.util.Optional; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +import io.vrap.rmf.base.client.JsonEnum; +import io.vrap.rmf.base.client.utils.Generated; + +/** + *

Defines how Product Discounts and Cart Discounts are combined for every Cart in a Project.

+ */ +@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") +public interface DiscountCombinationMode extends JsonEnum { + + /** +

Either Product Discounts or Cart Discounts are chosen based on best deal for the customer. Only one type applies per Cart.

*/ + DiscountCombinationMode BEST_DEAL = DiscountCombinationModeEnum.BEST_DEAL; + /** +

Product Discounts and Cart Discounts are both applied to the Cart, potentially increasing the total discount.

*/ + DiscountCombinationMode STACKING = DiscountCombinationModeEnum.STACKING; + + /** + * possible values of DiscountCombinationMode + */ + enum DiscountCombinationModeEnum implements DiscountCombinationMode { + /** + * BestDeal + */ + BEST_DEAL("BestDeal"), + + /** + * Stacking + */ + STACKING("Stacking"); + private final String jsonName; + + private DiscountCombinationModeEnum(final String jsonName) { + this.jsonName = jsonName; + } + + public String getJsonName() { + return jsonName; + } + + public String toString() { + return jsonName; + } + } + + /** + * the JSON value + * @return json value + */ + @JsonValue + String getJsonName(); + + /** + * the enum value + * @return name + */ + String name(); + + /** + * convert value to string + * @return string representation + */ + String toString(); + + /** + * factory method for a enum value of DiscountCombinationMode + * if no enum has been found an anonymous instance will be created + * @param value the enum value to be wrapped + * @return enum instance + */ + @JsonCreator + public static DiscountCombinationMode findEnum(String value) { + return findEnumViaJsonName(value).orElse(new DiscountCombinationMode() { + @Override + public String getJsonName() { + return value; + } + + @Override + public String name() { + return value.toUpperCase(); + } + + public String toString() { + return value; + } + }); + } + + /** + * method to find enum using the JSON value + * @param jsonName the json value to be wrapped + * @return optional of enum instance + */ + public static Optional findEnumViaJsonName(String jsonName) { + return Arrays.stream(values()).filter(t -> t.getJsonName().equals(jsonName)).findFirst(); + } + + /** + * possible enum values + * @return array of possible enum values + */ + public static DiscountCombinationMode[] values() { + return DiscountCombinationModeEnum.values(); + } + +} diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountsConfiguration.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountsConfiguration.java new file mode 100644 index 00000000000..b9cbc5ba7dc --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountsConfiguration.java @@ -0,0 +1,124 @@ + +package com.commercetools.api.models.project; + +import java.time.*; +import java.util.*; +import java.util.function.Function; + +import javax.annotation.Nullable; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.databind.annotation.*; + +import io.vrap.rmf.base.client.utils.Generated; + +import jakarta.validation.constraints.NotNull; + +/** + *

Holds the configuration for behavior of Product and Cart Discounts.

+ * + *
+ * Example to create an instance using the builder pattern + *
+ *

+ *     DiscountsConfiguration discountsConfiguration = DiscountsConfiguration.builder()
+ *             .discountCombinationMode(DiscountCombinationMode.BEST_DEAL)
+ *             .build()
+ * 
+ *
+ */ +@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") +@JsonDeserialize(as = DiscountsConfigurationImpl.class) +public interface DiscountsConfiguration { + + /** + *

Indicates how Product Discounts and Cart Discounts should be combined. Default value is Stacking.

+ * @return discountCombinationMode + */ + @NotNull + @JsonProperty("discountCombinationMode") + public DiscountCombinationMode getDiscountCombinationMode(); + + /** + *

Indicates how Product Discounts and Cart Discounts should be combined. Default value is Stacking.

+ * @param discountCombinationMode value to be set + */ + + public void setDiscountCombinationMode(final DiscountCombinationMode discountCombinationMode); + + /** + * factory method + * @return instance of DiscountsConfiguration + */ + public static DiscountsConfiguration of() { + return new DiscountsConfigurationImpl(); + } + + /** + * factory method to create a shallow copy DiscountsConfiguration + * @param template instance to be copied + * @return copy instance + */ + public static DiscountsConfiguration of(final DiscountsConfiguration template) { + DiscountsConfigurationImpl instance = new DiscountsConfigurationImpl(); + instance.setDiscountCombinationMode(template.getDiscountCombinationMode()); + return instance; + } + + public DiscountsConfiguration copyDeep(); + + /** + * factory method to create a deep copy of DiscountsConfiguration + * @param template instance to be copied + * @return copy instance + */ + @Nullable + public static DiscountsConfiguration deepCopy(@Nullable final DiscountsConfiguration template) { + if (template == null) { + return null; + } + DiscountsConfigurationImpl instance = new DiscountsConfigurationImpl(); + instance.setDiscountCombinationMode(template.getDiscountCombinationMode()); + return instance; + } + + /** + * builder factory method for DiscountsConfiguration + * @return builder + */ + public static DiscountsConfigurationBuilder builder() { + return DiscountsConfigurationBuilder.of(); + } + + /** + * create builder for DiscountsConfiguration instance + * @param template instance with prefilled values for the builder + * @return builder + */ + public static DiscountsConfigurationBuilder builder(final DiscountsConfiguration template) { + return DiscountsConfigurationBuilder.of(template); + } + + /** + * accessor map function + * @param mapped type + * @param helper function to map the object + * @return mapped value + */ + default T withDiscountsConfiguration(Function helper) { + return helper.apply(this); + } + + /** + * gives a TypeReference for usage with Jackson DataBind + * @return TypeReference + */ + public static com.fasterxml.jackson.core.type.TypeReference typeReference() { + return new com.fasterxml.jackson.core.type.TypeReference() { + @Override + public String toString() { + return "TypeReference"; + } + }; + } +} diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountsConfigurationBuilder.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountsConfigurationBuilder.java new file mode 100644 index 00000000000..e891605a9bc --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountsConfigurationBuilder.java @@ -0,0 +1,84 @@ + +package com.commercetools.api.models.project; + +import java.util.*; + +import io.vrap.rmf.base.client.Builder; +import io.vrap.rmf.base.client.utils.Generated; + +/** + * DiscountsConfigurationBuilder + *
+ * Example to create an instance using the builder pattern + *
+ *

+ *     DiscountsConfiguration discountsConfiguration = DiscountsConfiguration.builder()
+ *             .discountCombinationMode(DiscountCombinationMode.BEST_DEAL)
+ *             .build()
+ * 
+ *
+ */ +@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") +public class DiscountsConfigurationBuilder implements Builder { + + private com.commercetools.api.models.project.DiscountCombinationMode discountCombinationMode; + + /** + *

Indicates how Product Discounts and Cart Discounts should be combined. Default value is Stacking.

+ * @param discountCombinationMode value to be set + * @return Builder + */ + + public DiscountsConfigurationBuilder discountCombinationMode( + final com.commercetools.api.models.project.DiscountCombinationMode discountCombinationMode) { + this.discountCombinationMode = discountCombinationMode; + return this; + } + + /** + *

Indicates how Product Discounts and Cart Discounts should be combined. Default value is Stacking.

+ * @return discountCombinationMode + */ + + public com.commercetools.api.models.project.DiscountCombinationMode getDiscountCombinationMode() { + return this.discountCombinationMode; + } + + /** + * builds DiscountsConfiguration with checking for non-null required values + * @return DiscountsConfiguration + */ + public DiscountsConfiguration build() { + Objects.requireNonNull(discountCombinationMode, + DiscountsConfiguration.class + ": discountCombinationMode is missing"); + return new DiscountsConfigurationImpl(discountCombinationMode); + } + + /** + * builds DiscountsConfiguration without checking for non-null required values + * @return DiscountsConfiguration + */ + public DiscountsConfiguration buildUnchecked() { + return new DiscountsConfigurationImpl(discountCombinationMode); + } + + /** + * factory method for an instance of DiscountsConfigurationBuilder + * @return builder + */ + public static DiscountsConfigurationBuilder of() { + return new DiscountsConfigurationBuilder(); + } + + /** + * create builder for DiscountsConfiguration instance + * @param template instance with prefilled values for the builder + * @return builder + */ + public static DiscountsConfigurationBuilder of(final DiscountsConfiguration template) { + DiscountsConfigurationBuilder builder = new DiscountsConfigurationBuilder(); + builder.discountCombinationMode = template.getDiscountCombinationMode(); + return builder; + } + +} diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountsConfigurationImpl.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountsConfigurationImpl.java new file mode 100644 index 00000000000..d03d1012f9b --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/DiscountsConfigurationImpl.java @@ -0,0 +1,86 @@ + +package com.commercetools.api.models.project; + +import java.time.*; +import java.util.*; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.*; + +import io.vrap.rmf.base.client.ModelBase; +import io.vrap.rmf.base.client.utils.Generated; + +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + *

Holds the configuration for behavior of Product and Cart Discounts.

+ */ +@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") +public class DiscountsConfigurationImpl implements DiscountsConfiguration, ModelBase { + + private com.commercetools.api.models.project.DiscountCombinationMode discountCombinationMode; + + /** + * create instance with all properties + */ + @JsonCreator + DiscountsConfigurationImpl( + @JsonProperty("discountCombinationMode") final com.commercetools.api.models.project.DiscountCombinationMode discountCombinationMode) { + this.discountCombinationMode = discountCombinationMode; + } + + /** + * create empty instance + */ + public DiscountsConfigurationImpl() { + } + + /** + *

Indicates how Product Discounts and Cart Discounts should be combined. Default value is Stacking.

+ */ + + public com.commercetools.api.models.project.DiscountCombinationMode getDiscountCombinationMode() { + return this.discountCombinationMode; + } + + public void setDiscountCombinationMode( + final com.commercetools.api.models.project.DiscountCombinationMode discountCombinationMode) { + this.discountCombinationMode = discountCombinationMode; + } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + + if (o == null || getClass() != o.getClass()) + return false; + + DiscountsConfigurationImpl that = (DiscountsConfigurationImpl) o; + + return new EqualsBuilder().append(discountCombinationMode, that.discountCombinationMode) + .append(discountCombinationMode, that.discountCombinationMode) + .isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder(17, 37).append(discountCombinationMode).toHashCode(); + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE) + .append("discountCombinationMode", discountCombinationMode) + .build(); + } + + @Override + public DiscountsConfiguration copyDeep() { + return DiscountsConfiguration.deepCopy(this); + } +} diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/Project.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/Project.java index 17154521926..c39226b0a94 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/Project.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/Project.java @@ -34,6 +34,7 @@ * .createdAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z")) * .messages(messagesBuilder -> messagesBuilder) * .carts(cartsBuilder -> cartsBuilder) + * .discounts(discountsBuilder -> discountsBuilder) * .build() * * @@ -164,6 +165,15 @@ public interface Project extends com.commercetools.api.models.WithKey { @JsonProperty("businessUnits") public BusinessUnitConfiguration getBusinessUnits(); + /** + *

Holds configuration specific to discounts, including how Product and Cart Discounts are combined in every Cart of the Project.

+ * @return discounts + */ + @NotNull + @Valid + @JsonProperty("discounts") + public DiscountsConfiguration getDiscounts(); + /** *

Current version of the Project.

* @param version value to be set @@ -293,6 +303,13 @@ public interface Project extends com.commercetools.api.models.WithKey { public void setBusinessUnits(final BusinessUnitConfiguration businessUnits); + /** + *

Holds configuration specific to discounts, including how Product and Cart Discounts are combined in every Cart of the Project.

+ * @param discounts value to be set + */ + + public void setDiscounts(final DiscountsConfiguration discounts); + /** * factory method * @return instance of Project @@ -323,6 +340,7 @@ public static Project of(final Project template) { instance.setExternalOAuth(template.getExternalOAuth()); instance.setSearchIndexing(template.getSearchIndexing()); instance.setBusinessUnits(template.getBusinessUnits()); + instance.setDiscounts(template.getDiscounts()); return instance; } @@ -360,6 +378,8 @@ public static Project deepCopy(@Nullable final Project template) { com.commercetools.api.models.project.SearchIndexingConfiguration.deepCopy(template.getSearchIndexing())); instance.setBusinessUnits( com.commercetools.api.models.project.BusinessUnitConfiguration.deepCopy(template.getBusinessUnits())); + instance.setDiscounts( + com.commercetools.api.models.project.DiscountsConfiguration.deepCopy(template.getDiscounts())); return instance; } diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectBuilder.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectBuilder.java index 1423eb0f41e..3d0dedec9ec 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectBuilder.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectBuilder.java @@ -25,6 +25,7 @@ * .createdAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z")) * .messages(messagesBuilder -> messagesBuilder) * .carts(cartsBuilder -> cartsBuilder) + * .discounts(discountsBuilder -> discountsBuilder) * .build() * * @@ -68,6 +69,8 @@ public class ProjectBuilder implements Builder { @Nullable private com.commercetools.api.models.project.BusinessUnitConfiguration businessUnits; + private com.commercetools.api.models.project.DiscountsConfiguration discounts; + /** *

Current version of the Project.

* @param version value to be set @@ -476,6 +479,41 @@ public ProjectBuilder businessUnits( return this; } + /** + *

Holds configuration specific to discounts, including how Product and Cart Discounts are combined in every Cart of the Project.

+ * @param builder function to build the discounts value + * @return Builder + */ + + public ProjectBuilder discounts( + Function builder) { + this.discounts = builder.apply(com.commercetools.api.models.project.DiscountsConfigurationBuilder.of()).build(); + return this; + } + + /** + *

Holds configuration specific to discounts, including how Product and Cart Discounts are combined in every Cart of the Project.

+ * @param builder function to build the discounts value + * @return Builder + */ + + public ProjectBuilder withDiscounts( + Function builder) { + this.discounts = builder.apply(com.commercetools.api.models.project.DiscountsConfigurationBuilder.of()); + return this; + } + + /** + *

Holds configuration specific to discounts, including how Product and Cart Discounts are combined in every Cart of the Project.

+ * @param discounts value to be set + * @return Builder + */ + + public ProjectBuilder discounts(final com.commercetools.api.models.project.DiscountsConfiguration discounts) { + this.discounts = discounts; + return this; + } + /** *

Current version of the Project.

* @return version @@ -617,6 +655,15 @@ public com.commercetools.api.models.project.BusinessUnitConfiguration getBusines return this.businessUnits; } + /** + *

Holds configuration specific to discounts, including how Product and Cart Discounts are combined in every Cart of the Project.

+ * @return discounts + */ + + public com.commercetools.api.models.project.DiscountsConfiguration getDiscounts() { + return this.discounts; + } + /** * builds Project with checking for non-null required values * @return Project @@ -631,8 +678,9 @@ public Project build() { Objects.requireNonNull(createdAt, Project.class + ": createdAt is missing"); Objects.requireNonNull(messages, Project.class + ": messages is missing"); Objects.requireNonNull(carts, Project.class + ": carts is missing"); + Objects.requireNonNull(discounts, Project.class + ": discounts is missing"); return new ProjectImpl(version, key, name, countries, currencies, languages, createdAt, trialUntil, messages, - carts, shoppingLists, shippingRateInputType, externalOAuth, searchIndexing, businessUnits); + carts, shoppingLists, shippingRateInputType, externalOAuth, searchIndexing, businessUnits, discounts); } /** @@ -641,7 +689,7 @@ public Project build() { */ public Project buildUnchecked() { return new ProjectImpl(version, key, name, countries, currencies, languages, createdAt, trialUntil, messages, - carts, shoppingLists, shippingRateInputType, externalOAuth, searchIndexing, businessUnits); + carts, shoppingLists, shippingRateInputType, externalOAuth, searchIndexing, businessUnits, discounts); } /** @@ -674,6 +722,7 @@ public static ProjectBuilder of(final Project template) { builder.externalOAuth = template.getExternalOAuth(); builder.searchIndexing = template.getSearchIndexing(); builder.businessUnits = template.getBusinessUnits(); + builder.discounts = template.getDiscounts(); return builder; } diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectImpl.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectImpl.java index 9b7cda380ad..c0c15582e92 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectImpl.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectImpl.java @@ -52,6 +52,8 @@ public class ProjectImpl implements Project, ModelBase { private com.commercetools.api.models.project.BusinessUnitConfiguration businessUnits; + private com.commercetools.api.models.project.DiscountsConfiguration discounts; + /** * create instance with all properties */ @@ -68,7 +70,8 @@ public class ProjectImpl implements Project, ModelBase { @JsonProperty("shippingRateInputType") final com.commercetools.api.models.project.ShippingRateInputType shippingRateInputType, @JsonProperty("externalOAuth") final com.commercetools.api.models.project.ExternalOAuth externalOAuth, @JsonProperty("searchIndexing") final com.commercetools.api.models.project.SearchIndexingConfiguration searchIndexing, - @JsonProperty("businessUnits") final com.commercetools.api.models.project.BusinessUnitConfiguration businessUnits) { + @JsonProperty("businessUnits") final com.commercetools.api.models.project.BusinessUnitConfiguration businessUnits, + @JsonProperty("discounts") final com.commercetools.api.models.project.DiscountsConfiguration discounts) { this.version = version; this.key = key; this.name = name; @@ -84,6 +87,7 @@ public class ProjectImpl implements Project, ModelBase { this.externalOAuth = externalOAuth; this.searchIndexing = searchIndexing; this.businessUnits = businessUnits; + this.discounts = discounts; } /** @@ -212,6 +216,14 @@ public com.commercetools.api.models.project.BusinessUnitConfiguration getBusines return this.businessUnits; } + /** + *

Holds configuration specific to discounts, including how Product and Cart Discounts are combined in every Cart of the Project.

+ */ + + public com.commercetools.api.models.project.DiscountsConfiguration getDiscounts() { + return this.discounts; + } + public void setVersion(final Long version) { this.version = version; } @@ -286,6 +298,10 @@ public void setBusinessUnits(final com.commercetools.api.models.project.Business this.businessUnits = businessUnits; } + public void setDiscounts(final com.commercetools.api.models.project.DiscountsConfiguration discounts) { + this.discounts = discounts; + } + @Override public boolean equals(Object o) { if (this == o) @@ -311,6 +327,7 @@ public boolean equals(Object o) { .append(externalOAuth, that.externalOAuth) .append(searchIndexing, that.searchIndexing) .append(businessUnits, that.businessUnits) + .append(discounts, that.discounts) .append(version, that.version) .append(key, that.key) .append(name, that.name) @@ -326,6 +343,7 @@ public boolean equals(Object o) { .append(externalOAuth, that.externalOAuth) .append(searchIndexing, that.searchIndexing) .append(businessUnits, that.businessUnits) + .append(discounts, that.discounts) .isEquals(); } @@ -346,6 +364,7 @@ public int hashCode() { .append(externalOAuth) .append(searchIndexing) .append(businessUnits) + .append(discounts) .toHashCode(); } @@ -366,6 +385,7 @@ public String toString() { .append("externalOAuth", externalOAuth) .append("searchIndexing", searchIndexing) .append("businessUnits", businessUnits) + .append("discounts", discounts) .build(); } diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationAction.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationAction.java new file mode 100644 index 00000000000..101ba714285 --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationAction.java @@ -0,0 +1,136 @@ + +package com.commercetools.api.models.project; + +import java.time.*; +import java.util.*; +import java.util.function.Function; + +import javax.annotation.Nullable; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.databind.annotation.*; + +import io.vrap.rmf.base.client.utils.Generated; + +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; + +/** + * ProjectSetDiscountsConfigurationAction + * + *
+ * Example to create an instance using the builder pattern + *
+ *

+ *     ProjectSetDiscountsConfigurationAction projectSetDiscountsConfigurationAction = ProjectSetDiscountsConfigurationAction.builder()
+ *             .discountsConfiguration(discountsConfigurationBuilder -> discountsConfigurationBuilder)
+ *             .build()
+ * 
+ *
+ */ +@io.vrap.rmf.base.client.utils.json.SubType("setDiscountsConfiguration") +@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") +@JsonDeserialize(as = ProjectSetDiscountsConfigurationActionImpl.class) +public interface ProjectSetDiscountsConfigurationAction extends ProjectUpdateAction { + + /** + * discriminator value for ProjectSetDiscountsConfigurationAction + */ + String SET_DISCOUNTS_CONFIGURATION = "setDiscountsConfiguration"; + + /** + *

Configuration for the behavior of Cart and Product Discounts in the Project.

+ * @return discountsConfiguration + */ + @NotNull + @Valid + @JsonProperty("discountsConfiguration") + public DiscountsConfiguration getDiscountsConfiguration(); + + /** + *

Configuration for the behavior of Cart and Product Discounts in the Project.

+ * @param discountsConfiguration value to be set + */ + + public void setDiscountsConfiguration(final DiscountsConfiguration discountsConfiguration); + + /** + * factory method + * @return instance of ProjectSetDiscountsConfigurationAction + */ + public static ProjectSetDiscountsConfigurationAction of() { + return new ProjectSetDiscountsConfigurationActionImpl(); + } + + /** + * factory method to create a shallow copy ProjectSetDiscountsConfigurationAction + * @param template instance to be copied + * @return copy instance + */ + public static ProjectSetDiscountsConfigurationAction of(final ProjectSetDiscountsConfigurationAction template) { + ProjectSetDiscountsConfigurationActionImpl instance = new ProjectSetDiscountsConfigurationActionImpl(); + instance.setDiscountsConfiguration(template.getDiscountsConfiguration()); + return instance; + } + + public ProjectSetDiscountsConfigurationAction copyDeep(); + + /** + * factory method to create a deep copy of ProjectSetDiscountsConfigurationAction + * @param template instance to be copied + * @return copy instance + */ + @Nullable + public static ProjectSetDiscountsConfigurationAction deepCopy( + @Nullable final ProjectSetDiscountsConfigurationAction template) { + if (template == null) { + return null; + } + ProjectSetDiscountsConfigurationActionImpl instance = new ProjectSetDiscountsConfigurationActionImpl(); + instance.setDiscountsConfiguration( + com.commercetools.api.models.project.DiscountsConfiguration.deepCopy(template.getDiscountsConfiguration())); + return instance; + } + + /** + * builder factory method for ProjectSetDiscountsConfigurationAction + * @return builder + */ + public static ProjectSetDiscountsConfigurationActionBuilder builder() { + return ProjectSetDiscountsConfigurationActionBuilder.of(); + } + + /** + * create builder for ProjectSetDiscountsConfigurationAction instance + * @param template instance with prefilled values for the builder + * @return builder + */ + public static ProjectSetDiscountsConfigurationActionBuilder builder( + final ProjectSetDiscountsConfigurationAction template) { + return ProjectSetDiscountsConfigurationActionBuilder.of(template); + } + + /** + * accessor map function + * @param mapped type + * @param helper function to map the object + * @return mapped value + */ + default T withProjectSetDiscountsConfigurationAction( + Function helper) { + return helper.apply(this); + } + + /** + * gives a TypeReference for usage with Jackson DataBind + * @return TypeReference + */ + public static com.fasterxml.jackson.core.type.TypeReference typeReference() { + return new com.fasterxml.jackson.core.type.TypeReference() { + @Override + public String toString() { + return "TypeReference"; + } + }; + } +} diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationActionBuilder.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationActionBuilder.java new file mode 100644 index 00000000000..525e865665d --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationActionBuilder.java @@ -0,0 +1,113 @@ + +package com.commercetools.api.models.project; + +import java.util.*; +import java.util.function.Function; + +import io.vrap.rmf.base.client.Builder; +import io.vrap.rmf.base.client.utils.Generated; + +/** + * ProjectSetDiscountsConfigurationActionBuilder + *
+ * Example to create an instance using the builder pattern + *
+ *

+ *     ProjectSetDiscountsConfigurationAction projectSetDiscountsConfigurationAction = ProjectSetDiscountsConfigurationAction.builder()
+ *             .discountsConfiguration(discountsConfigurationBuilder -> discountsConfigurationBuilder)
+ *             .build()
+ * 
+ *
+ */ +@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") +public class ProjectSetDiscountsConfigurationActionBuilder implements Builder { + + private com.commercetools.api.models.project.DiscountsConfiguration discountsConfiguration; + + /** + *

Configuration for the behavior of Cart and Product Discounts in the Project.

+ * @param builder function to build the discountsConfiguration value + * @return Builder + */ + + public ProjectSetDiscountsConfigurationActionBuilder discountsConfiguration( + Function builder) { + this.discountsConfiguration = builder + .apply(com.commercetools.api.models.project.DiscountsConfigurationBuilder.of()) + .build(); + return this; + } + + /** + *

Configuration for the behavior of Cart and Product Discounts in the Project.

+ * @param builder function to build the discountsConfiguration value + * @return Builder + */ + + public ProjectSetDiscountsConfigurationActionBuilder withDiscountsConfiguration( + Function builder) { + this.discountsConfiguration = builder + .apply(com.commercetools.api.models.project.DiscountsConfigurationBuilder.of()); + return this; + } + + /** + *

Configuration for the behavior of Cart and Product Discounts in the Project.

+ * @param discountsConfiguration value to be set + * @return Builder + */ + + public ProjectSetDiscountsConfigurationActionBuilder discountsConfiguration( + final com.commercetools.api.models.project.DiscountsConfiguration discountsConfiguration) { + this.discountsConfiguration = discountsConfiguration; + return this; + } + + /** + *

Configuration for the behavior of Cart and Product Discounts in the Project.

+ * @return discountsConfiguration + */ + + public com.commercetools.api.models.project.DiscountsConfiguration getDiscountsConfiguration() { + return this.discountsConfiguration; + } + + /** + * builds ProjectSetDiscountsConfigurationAction with checking for non-null required values + * @return ProjectSetDiscountsConfigurationAction + */ + public ProjectSetDiscountsConfigurationAction build() { + Objects.requireNonNull(discountsConfiguration, + ProjectSetDiscountsConfigurationAction.class + ": discountsConfiguration is missing"); + return new ProjectSetDiscountsConfigurationActionImpl(discountsConfiguration); + } + + /** + * builds ProjectSetDiscountsConfigurationAction without checking for non-null required values + * @return ProjectSetDiscountsConfigurationAction + */ + public ProjectSetDiscountsConfigurationAction buildUnchecked() { + return new ProjectSetDiscountsConfigurationActionImpl(discountsConfiguration); + } + + /** + * factory method for an instance of ProjectSetDiscountsConfigurationActionBuilder + * @return builder + */ + public static ProjectSetDiscountsConfigurationActionBuilder of() { + return new ProjectSetDiscountsConfigurationActionBuilder(); + } + + /** + * create builder for ProjectSetDiscountsConfigurationAction instance + * @param template instance with prefilled values for the builder + * @return builder + */ + public static ProjectSetDiscountsConfigurationActionBuilder of( + final ProjectSetDiscountsConfigurationAction template) { + ProjectSetDiscountsConfigurationActionBuilder builder = new ProjectSetDiscountsConfigurationActionBuilder(); + builder.discountsConfiguration = template.getDiscountsConfiguration(); + return builder; + } + +} diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationActionImpl.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationActionImpl.java new file mode 100644 index 00000000000..a90956eaf80 --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationActionImpl.java @@ -0,0 +1,100 @@ + +package com.commercetools.api.models.project; + +import java.time.*; +import java.util.*; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.*; + +import io.vrap.rmf.base.client.ModelBase; +import io.vrap.rmf.base.client.utils.Generated; + +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * ProjectSetDiscountsConfigurationAction + */ +@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") +public class ProjectSetDiscountsConfigurationActionImpl implements ProjectSetDiscountsConfigurationAction, ModelBase { + + private String action; + + private com.commercetools.api.models.project.DiscountsConfiguration discountsConfiguration; + + /** + * create instance with all properties + */ + @JsonCreator + ProjectSetDiscountsConfigurationActionImpl( + @JsonProperty("discountsConfiguration") final com.commercetools.api.models.project.DiscountsConfiguration discountsConfiguration) { + this.discountsConfiguration = discountsConfiguration; + this.action = SET_DISCOUNTS_CONFIGURATION; + } + + /** + * create empty instance + */ + public ProjectSetDiscountsConfigurationActionImpl() { + this.action = SET_DISCOUNTS_CONFIGURATION; + } + + /** + * + */ + + public String getAction() { + return this.action; + } + + /** + *

Configuration for the behavior of Cart and Product Discounts in the Project.

+ */ + + public com.commercetools.api.models.project.DiscountsConfiguration getDiscountsConfiguration() { + return this.discountsConfiguration; + } + + public void setDiscountsConfiguration( + final com.commercetools.api.models.project.DiscountsConfiguration discountsConfiguration) { + this.discountsConfiguration = discountsConfiguration; + } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + + if (o == null || getClass() != o.getClass()) + return false; + + ProjectSetDiscountsConfigurationActionImpl that = (ProjectSetDiscountsConfigurationActionImpl) o; + + return new EqualsBuilder().append(action, that.action) + .append(discountsConfiguration, that.discountsConfiguration) + .append(action, that.action) + .append(discountsConfiguration, that.discountsConfiguration) + .isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder(17, 37).append(action).append(discountsConfiguration).toHashCode(); + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("action", action) + .append("discountsConfiguration", discountsConfiguration) + .build(); + } + + @Override + public ProjectSetDiscountsConfigurationAction copyDeep() { + return ProjectSetDiscountsConfigurationAction.deepCopy(this); + } +} diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectUpdateAction.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectUpdateAction.java index 42884233f88..6bbd98e7e3c 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectUpdateAction.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectUpdateAction.java @@ -188,6 +188,14 @@ public static com.commercetools.api.models.project.ProjectSetBusinessUnitAssocia return com.commercetools.api.models.project.ProjectSetBusinessUnitAssociateRoleOnCreationActionBuilder.of(); } + /** + * builder for setDiscountsConfiguration subtype + * @return builder + */ + public static com.commercetools.api.models.project.ProjectSetDiscountsConfigurationActionBuilder setDiscountsConfigurationBuilder() { + return com.commercetools.api.models.project.ProjectSetDiscountsConfigurationActionBuilder.of(); + } + /** * builder for setExternalOAuth subtype * @return builder diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectUpdateActionBuilder.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectUpdateActionBuilder.java index d0603156930..f147a3baf55 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectUpdateActionBuilder.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/project/ProjectUpdateActionBuilder.java @@ -75,6 +75,10 @@ public com.commercetools.api.models.project.ProjectSetBusinessUnitAssociateRoleO return com.commercetools.api.models.project.ProjectSetBusinessUnitAssociateRoleOnCreationActionBuilder.of(); } + public com.commercetools.api.models.project.ProjectSetDiscountsConfigurationActionBuilder setDiscountsConfigurationBuilder() { + return com.commercetools.api.models.project.ProjectSetDiscountsConfigurationActionBuilder.of(); + } + public com.commercetools.api.models.project.ProjectSetExternalOAuthActionBuilder setExternalOAuthBuilder() { return com.commercetools.api.models.project.ProjectSetExternalOAuthActionBuilder.of(); } diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/DiscountsConfigurationQueryBuilderDsl.java b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/DiscountsConfigurationQueryBuilderDsl.java new file mode 100644 index 00000000000..0cd30598116 --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/DiscountsConfigurationQueryBuilderDsl.java @@ -0,0 +1,20 @@ + +package com.commercetools.api.predicates.query.project; + +import com.commercetools.api.predicates.query.*; + +public class DiscountsConfigurationQueryBuilderDsl { + public DiscountsConfigurationQueryBuilderDsl() { + } + + public static DiscountsConfigurationQueryBuilderDsl of() { + return new DiscountsConfigurationQueryBuilderDsl(); + } + + public StringComparisonPredicateBuilder discountCombinationMode() { + return new StringComparisonPredicateBuilder<>( + BinaryQueryPredicate.of().left(new ConstantQueryPredicate("discountCombinationMode")), + p -> new CombinationQueryPredicate<>(p, DiscountsConfigurationQueryBuilderDsl::of)); + } + +} diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/ProjectQueryBuilderDsl.java b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/ProjectQueryBuilderDsl.java index 3aa89487bed..ebf60b545d7 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/ProjectQueryBuilderDsl.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/ProjectQueryBuilderDsl.java @@ -128,4 +128,14 @@ public CombinationQueryPredicate businessUnits( ProjectQueryBuilderDsl::of); } + public CombinationQueryPredicate discounts( + Function> fn) { + return new CombinationQueryPredicate<>( + ContainerQueryPredicate.of() + .parent(ConstantQueryPredicate.of().constant("discounts")) + .inner(fn.apply( + com.commercetools.api.predicates.query.project.DiscountsConfigurationQueryBuilderDsl.of())), + ProjectQueryBuilderDsl::of); + } + } diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/ProjectSetDiscountsConfigurationActionQueryBuilderDsl.java b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/ProjectSetDiscountsConfigurationActionQueryBuilderDsl.java new file mode 100644 index 00000000000..2350bc43d11 --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/ProjectSetDiscountsConfigurationActionQueryBuilderDsl.java @@ -0,0 +1,32 @@ + +package com.commercetools.api.predicates.query.project; + +import java.util.function.Function; + +import com.commercetools.api.predicates.query.*; + +public class ProjectSetDiscountsConfigurationActionQueryBuilderDsl { + public ProjectSetDiscountsConfigurationActionQueryBuilderDsl() { + } + + public static ProjectSetDiscountsConfigurationActionQueryBuilderDsl of() { + return new ProjectSetDiscountsConfigurationActionQueryBuilderDsl(); + } + + public StringComparisonPredicateBuilder action() { + return new StringComparisonPredicateBuilder<>( + BinaryQueryPredicate.of().left(new ConstantQueryPredicate("action")), + p -> new CombinationQueryPredicate<>(p, ProjectSetDiscountsConfigurationActionQueryBuilderDsl::of)); + } + + public CombinationQueryPredicate discountsConfiguration( + Function> fn) { + return new CombinationQueryPredicate<>( + ContainerQueryPredicate.of() + .parent(ConstantQueryPredicate.of().constant("discountsConfiguration")) + .inner(fn.apply( + com.commercetools.api.predicates.query.project.DiscountsConfigurationQueryBuilderDsl.of())), + ProjectSetDiscountsConfigurationActionQueryBuilderDsl::of); + } + +} diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/ProjectUpdateActionQueryBuilderDsl.java b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/ProjectUpdateActionQueryBuilderDsl.java index ffb3ca71681..7d2c69f4b04 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/ProjectUpdateActionQueryBuilderDsl.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/project/ProjectUpdateActionQueryBuilderDsl.java @@ -139,6 +139,13 @@ public CombinationQueryPredicate asSetMyBusi ProjectUpdateActionQueryBuilderDsl::of); } + public CombinationQueryPredicate asSetDiscountsConfiguration( + Function> fn) { + return new CombinationQueryPredicate<>(fn.apply( + com.commercetools.api.predicates.query.project.ProjectSetDiscountsConfigurationActionQueryBuilderDsl.of()), + ProjectUpdateActionQueryBuilderDsl::of); + } + public CombinationQueryPredicate asSetExternalOAuth( Function> fn) { return new CombinationQueryPredicate<>( diff --git a/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/project/DiscountsConfigurationTest.java b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/project/DiscountsConfigurationTest.java new file mode 100644 index 00000000000..d9febbb21f1 --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/project/DiscountsConfigurationTest.java @@ -0,0 +1,33 @@ + +package com.commercetools.api.models.project; + +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +public class DiscountsConfigurationTest { + + @ParameterizedTest(name = "#{index} with {0}") + @MethodSource("objectBuilder") + public void buildUnchecked(String name, DiscountsConfigurationBuilder builder) { + DiscountsConfiguration discountsConfiguration = builder.buildUnchecked(); + Assertions.assertThat(discountsConfiguration).isInstanceOf(DiscountsConfiguration.class); + } + + public static Object[][] objectBuilder() { + return new Object[][] { new Object[] { "discountCombinationMode", + DiscountsConfiguration.builder() + .discountCombinationMode( + com.commercetools.api.models.project.DiscountCombinationMode.findEnum("BestDeal")) } }; + } + + @Test + public void discountCombinationMode() { + DiscountsConfiguration value = DiscountsConfiguration.of(); + value.setDiscountCombinationMode( + com.commercetools.api.models.project.DiscountCombinationMode.findEnum("BestDeal")); + Assertions.assertThat(value.getDiscountCombinationMode()) + .isEqualTo(com.commercetools.api.models.project.DiscountCombinationMode.findEnum("BestDeal")); + } +} diff --git a/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationActionTest.java b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationActionTest.java new file mode 100644 index 00000000000..3c8b26c2352 --- /dev/null +++ b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/project/ProjectSetDiscountsConfigurationActionTest.java @@ -0,0 +1,33 @@ + +package com.commercetools.api.models.project; + +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +public class ProjectSetDiscountsConfigurationActionTest { + + @ParameterizedTest(name = "#{index} with {0}") + @MethodSource("objectBuilder") + public void buildUnchecked(String name, ProjectSetDiscountsConfigurationActionBuilder builder) { + ProjectSetDiscountsConfigurationAction projectSetDiscountsConfigurationAction = builder.buildUnchecked(); + Assertions.assertThat(projectSetDiscountsConfigurationAction) + .isInstanceOf(ProjectSetDiscountsConfigurationAction.class); + } + + public static Object[][] objectBuilder() { + return new Object[][] { new Object[] { "discountsConfiguration", + ProjectSetDiscountsConfigurationAction.builder() + .discountsConfiguration( + new com.commercetools.api.models.project.DiscountsConfigurationImpl()) } }; + } + + @Test + public void discountsConfiguration() { + ProjectSetDiscountsConfigurationAction value = ProjectSetDiscountsConfigurationAction.of(); + value.setDiscountsConfiguration(new com.commercetools.api.models.project.DiscountsConfigurationImpl()); + Assertions.assertThat(value.getDiscountsConfiguration()) + .isEqualTo(new com.commercetools.api.models.project.DiscountsConfigurationImpl()); + } +} diff --git a/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/project/ProjectTest.java b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/project/ProjectTest.java index e75a37af2e2..4268892dc55 100644 --- a/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/project/ProjectTest.java +++ b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/project/ProjectTest.java @@ -41,7 +41,9 @@ public static Object[][] objectBuilder() { new Object[] { "searchIndexing", Project.builder() .searchIndexing(new com.commercetools.api.models.project.SearchIndexingConfigurationImpl()) }, new Object[] { "businessUnits", Project.builder() - .businessUnits(new com.commercetools.api.models.project.BusinessUnitConfigurationImpl()) } }; + .businessUnits(new com.commercetools.api.models.project.BusinessUnitConfigurationImpl()) }, + new Object[] { "discounts", Project.builder() + .discounts(new com.commercetools.api.models.project.DiscountsConfigurationImpl()) } }; } @Test @@ -155,4 +157,12 @@ public void businessUnits() { Assertions.assertThat(value.getBusinessUnits()) .isEqualTo(new com.commercetools.api.models.project.BusinessUnitConfigurationImpl()); } + + @Test + public void discounts() { + Project value = Project.of(); + value.setDiscounts(new com.commercetools.api.models.project.DiscountsConfigurationImpl()); + Assertions.assertThat(value.getDiscounts()) + .isEqualTo(new com.commercetools.api.models.project.DiscountsConfigurationImpl()); + } } diff --git a/references.txt b/references.txt index 066a1721b68..6103b50c8da 100644 --- a/references.txt +++ b/references.txt @@ -473,3 +473,4 @@ ea7ba668e4084d845f2f3871c239999f43613b28 7c8466665829aaf9142b056c57fe5b32c4072076 263e58a9f68bacfe67cd292b203c956d5ae9f264 780cff25cc0c08ba669762069bb264848aa5f6d5 +503a69044e9969bc058a116a7f7ecd4556c85258