diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 727bf2d62..f655add5c 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.387.0"
+ ".": "0.388.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index 4bf821dee..b1d32ecc6 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 227
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-60f9bca532c8805735c227730bbb14858faa64bfd5f83a1a78640f0119a3f99c.yml
-openapi_spec_hash: 17ddd87efe6c029f2fa660c8781ccfaf
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-63db8a5872b6a112abfc879f75a53bc6975994025752e86b27ab327884d94655.yml
+openapi_spec_hash: b7ffb71e0102fcd040a575bf917656e3
config_hash: ca52ca9a2968f330339fd50c1a386e05
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 471f0830e..ca7ae8160 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## 0.388.0 (2025-12-19)
+
+Full Changelog: [v0.387.0...v0.388.0](https://github.com/Increase/increase-java/compare/v0.387.0...v0.388.0)
+
+### Features
+
+* **api:** api update ([23b6980](https://github.com/Increase/increase-java/commit/23b6980005ef0827dc67d74f1539f07295fffdac))
+
## 0.387.0 (2025-12-18)
Full Changelog: [v0.386.0...v0.387.0](https://github.com/Increase/increase-java/compare/v0.386.0...v0.387.0)
diff --git a/README.md b/README.md
index 340662753..b5948eecc 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,8 @@
-[](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.387.0)
-[](https://javadoc.io/doc/com.increase.api/increase-java/0.387.0)
+[](https://central.sonatype.com/artifact/com.increase.api/increase-java/0.388.0)
+[](https://javadoc.io/doc/com.increase.api/increase-java/0.388.0)
@@ -13,7 +13,7 @@ The Increase Java SDK is similar to the Increase Kotlin SDK but with minor diffe
-The REST API documentation can be found on [increase.com](https://increase.com/documentation). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.increase.api/increase-java/0.387.0).
+The REST API documentation can be found on [increase.com](https://increase.com/documentation). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.increase.api/increase-java/0.388.0).
@@ -24,7 +24,7 @@ The REST API documentation can be found on [increase.com](https://increase.com/d
### Gradle
```kotlin
-implementation("com.increase.api:increase-java:0.387.0")
+implementation("com.increase.api:increase-java:0.388.0")
```
### Maven
@@ -33,7 +33,7 @@ implementation("com.increase.api:increase-java:0.387.0")
com.increase.api
increase-java
- 0.387.0
+ 0.388.0
```
diff --git a/build.gradle.kts b/build.gradle.kts
index 2aae0c2a7..d315d1050 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -8,7 +8,7 @@ repositories {
allprojects {
group = "com.increase.api"
- version = "0.387.0" // x-release-please-version
+ version = "0.388.0" // x-release-please-version
}
subprojects {
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/models/simulations/exports/ExportCreateParams.kt b/increase-java-core/src/main/kotlin/com/increase/api/models/simulations/exports/ExportCreateParams.kt
index 218ef3e44..9e1798d44 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/models/simulations/exports/ExportCreateParams.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/models/simulations/exports/ExportCreateParams.kt
@@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter
import com.fasterxml.jackson.annotation.JsonAnySetter
import com.fasterxml.jackson.annotation.JsonCreator
import com.fasterxml.jackson.annotation.JsonProperty
+import com.increase.api.core.Enum
import com.increase.api.core.ExcludeMissing
import com.increase.api.core.JsonField
import com.increase.api.core.JsonMissing
@@ -17,8 +18,15 @@ import com.increase.api.core.http.QueryParams
import com.increase.api.errors.IncreaseInvalidDataException
import java.util.Collections
import java.util.Objects
-
-/** Simulates a tax form export being generated. */
+import java.util.Optional
+import kotlin.jvm.optionals.getOrNull
+
+/**
+ * Many exports are created by you via POST /exports or in the Dashboard. Some exports are created
+ * automatically by Increase. For example, tax documents are published once a year. In sandbox, you
+ * can trigger the arrival of an export that would normally only be created automatically via this
+ * simulation.
+ */
class ExportCreateParams
private constructor(
private val body: Body,
@@ -27,19 +35,34 @@ private constructor(
) : Params {
/**
- * The identifier of the Account the tax document is for.
+ * The type of Export to create.
*
* @throws IncreaseInvalidDataException if the JSON field has an unexpected type or is
* unexpectedly missing or null (e.g. if the server responded with an unexpected value).
*/
- fun accountId(): String = body.accountId()
+ fun category(): Category = body.category()
+
+ /**
+ * Options for the created export. Required if `category` is equal to `form_1099_int`.
+ *
+ * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if the
+ * server responded with an unexpected value).
+ */
+ fun form1099Int(): Optional = body.form1099Int()
+
+ /**
+ * Returns the raw JSON value of [category].
+ *
+ * Unlike [category], this method doesn't throw if the JSON field has an unexpected type.
+ */
+ fun _category(): JsonField = body._category()
/**
- * Returns the raw JSON value of [accountId].
+ * Returns the raw JSON value of [form1099Int].
*
- * Unlike [accountId], this method doesn't throw if the JSON field has an unexpected type.
+ * Unlike [form1099Int], this method doesn't throw if the JSON field has an unexpected type.
*/
- fun _accountId(): JsonField = body._accountId()
+ fun _form1099Int(): JsonField = body._form1099Int()
fun _additionalBodyProperties(): Map = body._additionalProperties()
@@ -58,7 +81,7 @@ private constructor(
*
* The following fields are required:
* ```java
- * .accountId()
+ * .category()
* ```
*/
@JvmStatic fun builder() = Builder()
@@ -83,21 +106,36 @@ private constructor(
*
* This is generally only useful if you are already constructing the body separately.
* Otherwise, it's more convenient to use the top-level setters instead:
- * - [accountId]
+ * - [category]
+ * - [form1099Int]
*/
fun body(body: Body) = apply { this.body = body.toBuilder() }
- /** The identifier of the Account the tax document is for. */
- fun accountId(accountId: String) = apply { body.accountId(accountId) }
+ /** The type of Export to create. */
+ fun category(category: Category) = apply { body.category(category) }
/**
- * Sets [Builder.accountId] to an arbitrary JSON value.
+ * Sets [Builder.category] to an arbitrary JSON value.
*
- * You should usually call [Builder.accountId] with a well-typed [String] value instead.
+ * You should usually call [Builder.category] with a well-typed [Category] value instead.
* This method is primarily for setting the field to an undocumented or not yet supported
* value.
*/
- fun accountId(accountId: JsonField) = apply { body.accountId(accountId) }
+ fun category(category: JsonField) = apply { body.category(category) }
+
+ /** Options for the created export. Required if `category` is equal to `form_1099_int`. */
+ fun form1099Int(form1099Int: Form1099Int) = apply { body.form1099Int(form1099Int) }
+
+ /**
+ * Sets [Builder.form1099Int] to an arbitrary JSON value.
+ *
+ * You should usually call [Builder.form1099Int] with a well-typed [Form1099Int] value
+ * instead. This method is primarily for setting the field to an undocumented or not yet
+ * supported value.
+ */
+ fun form1099Int(form1099Int: JsonField) = apply {
+ body.form1099Int(form1099Int)
+ }
fun additionalBodyProperties(additionalBodyProperties: Map) = apply {
body.additionalProperties(additionalBodyProperties)
@@ -223,7 +261,7 @@ private constructor(
*
* The following fields are required:
* ```java
- * .accountId()
+ * .category()
* ```
*
* @throws IllegalStateException if any required field is unset.
@@ -244,6 +282,340 @@ private constructor(
class Body
@JsonCreator(mode = JsonCreator.Mode.DISABLED)
+ private constructor(
+ private val category: JsonField,
+ private val form1099Int: JsonField,
+ private val additionalProperties: MutableMap,
+ ) {
+
+ @JsonCreator
+ private constructor(
+ @JsonProperty("category")
+ @ExcludeMissing
+ category: JsonField = JsonMissing.of(),
+ @JsonProperty("form_1099_int")
+ @ExcludeMissing
+ form1099Int: JsonField = JsonMissing.of(),
+ ) : this(category, form1099Int, mutableMapOf())
+
+ /**
+ * The type of Export to create.
+ *
+ * @throws IncreaseInvalidDataException if the JSON field has an unexpected type or is
+ * unexpectedly missing or null (e.g. if the server responded with an unexpected value).
+ */
+ fun category(): Category = category.getRequired("category")
+
+ /**
+ * Options for the created export. Required if `category` is equal to `form_1099_int`.
+ *
+ * @throws IncreaseInvalidDataException if the JSON field has an unexpected type (e.g. if
+ * the server responded with an unexpected value).
+ */
+ fun form1099Int(): Optional = form1099Int.getOptional("form_1099_int")
+
+ /**
+ * Returns the raw JSON value of [category].
+ *
+ * Unlike [category], this method doesn't throw if the JSON field has an unexpected type.
+ */
+ @JsonProperty("category") @ExcludeMissing fun _category(): JsonField = category
+
+ /**
+ * Returns the raw JSON value of [form1099Int].
+ *
+ * Unlike [form1099Int], this method doesn't throw if the JSON field has an unexpected type.
+ */
+ @JsonProperty("form_1099_int")
+ @ExcludeMissing
+ fun _form1099Int(): JsonField = form1099Int
+
+ @JsonAnySetter
+ private fun putAdditionalProperty(key: String, value: JsonValue) {
+ additionalProperties.put(key, value)
+ }
+
+ @JsonAnyGetter
+ @ExcludeMissing
+ fun _additionalProperties(): Map =
+ Collections.unmodifiableMap(additionalProperties)
+
+ fun toBuilder() = Builder().from(this)
+
+ companion object {
+
+ /**
+ * Returns a mutable builder for constructing an instance of [Body].
+ *
+ * The following fields are required:
+ * ```java
+ * .category()
+ * ```
+ */
+ @JvmStatic fun builder() = Builder()
+ }
+
+ /** A builder for [Body]. */
+ class Builder internal constructor() {
+
+ private var category: JsonField? = null
+ private var form1099Int: JsonField = JsonMissing.of()
+ private var additionalProperties: MutableMap = mutableMapOf()
+
+ @JvmSynthetic
+ internal fun from(body: Body) = apply {
+ category = body.category
+ form1099Int = body.form1099Int
+ additionalProperties = body.additionalProperties.toMutableMap()
+ }
+
+ /** The type of Export to create. */
+ fun category(category: Category) = category(JsonField.of(category))
+
+ /**
+ * Sets [Builder.category] to an arbitrary JSON value.
+ *
+ * You should usually call [Builder.category] with a well-typed [Category] value
+ * instead. This method is primarily for setting the field to an undocumented or not yet
+ * supported value.
+ */
+ fun category(category: JsonField) = apply { this.category = category }
+
+ /**
+ * Options for the created export. Required if `category` is equal to `form_1099_int`.
+ */
+ fun form1099Int(form1099Int: Form1099Int) = form1099Int(JsonField.of(form1099Int))
+
+ /**
+ * Sets [Builder.form1099Int] to an arbitrary JSON value.
+ *
+ * You should usually call [Builder.form1099Int] with a well-typed [Form1099Int] value
+ * instead. This method is primarily for setting the field to an undocumented or not yet
+ * supported value.
+ */
+ fun form1099Int(form1099Int: JsonField) = apply {
+ this.form1099Int = form1099Int
+ }
+
+ fun additionalProperties(additionalProperties: Map) = apply {
+ this.additionalProperties.clear()
+ putAllAdditionalProperties(additionalProperties)
+ }
+
+ fun putAdditionalProperty(key: String, value: JsonValue) = apply {
+ additionalProperties.put(key, value)
+ }
+
+ fun putAllAdditionalProperties(additionalProperties: Map) = apply {
+ this.additionalProperties.putAll(additionalProperties)
+ }
+
+ fun removeAdditionalProperty(key: String) = apply { additionalProperties.remove(key) }
+
+ fun removeAllAdditionalProperties(keys: Set) = apply {
+ keys.forEach(::removeAdditionalProperty)
+ }
+
+ /**
+ * Returns an immutable instance of [Body].
+ *
+ * Further updates to this [Builder] will not mutate the returned instance.
+ *
+ * The following fields are required:
+ * ```java
+ * .category()
+ * ```
+ *
+ * @throws IllegalStateException if any required field is unset.
+ */
+ fun build(): Body =
+ Body(
+ checkRequired("category", category),
+ form1099Int,
+ additionalProperties.toMutableMap(),
+ )
+ }
+
+ private var validated: Boolean = false
+
+ fun validate(): Body = apply {
+ if (validated) {
+ return@apply
+ }
+
+ category().validate()
+ form1099Int().ifPresent { it.validate() }
+ validated = true
+ }
+
+ fun isValid(): Boolean =
+ try {
+ validate()
+ true
+ } catch (e: IncreaseInvalidDataException) {
+ false
+ }
+
+ /**
+ * Returns a score indicating how many valid values are contained in this object
+ * recursively.
+ *
+ * Used for best match union deserialization.
+ */
+ @JvmSynthetic
+ internal fun validity(): Int =
+ (category.asKnown().getOrNull()?.validity() ?: 0) +
+ (form1099Int.asKnown().getOrNull()?.validity() ?: 0)
+
+ override fun equals(other: Any?): Boolean {
+ if (this === other) {
+ return true
+ }
+
+ return other is Body &&
+ category == other.category &&
+ form1099Int == other.form1099Int &&
+ additionalProperties == other.additionalProperties
+ }
+
+ private val hashCode: Int by lazy {
+ Objects.hash(category, form1099Int, additionalProperties)
+ }
+
+ override fun hashCode(): Int = hashCode
+
+ override fun toString() =
+ "Body{category=$category, form1099Int=$form1099Int, additionalProperties=$additionalProperties}"
+ }
+
+ /** The type of Export to create. */
+ class Category @JsonCreator private constructor(private val value: JsonField) : Enum {
+
+ /**
+ * Returns this class instance's raw value.
+ *
+ * This is usually only useful if this instance was deserialized from data that doesn't
+ * match any known member, and you want to know that value. For example, if the SDK is on an
+ * older version than the API, then the API may respond with new members that the SDK is
+ * unaware of.
+ */
+ @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value
+
+ companion object {
+
+ /** A PDF of an Internal Revenue Service Form 1099-INT. */
+ @JvmField val FORM_1099_INT = of("form_1099_int")
+
+ @JvmStatic fun of(value: String) = Category(JsonField.of(value))
+ }
+
+ /** An enum containing [Category]'s known values. */
+ enum class Known {
+ /** A PDF of an Internal Revenue Service Form 1099-INT. */
+ FORM_1099_INT
+ }
+
+ /**
+ * An enum containing [Category]'s known values, as well as an [_UNKNOWN] member.
+ *
+ * An instance of [Category] can contain an unknown value in a couple of cases:
+ * - It was deserialized from data that doesn't match any known member. For example, if the
+ * SDK is on an older version than the API, then the API may respond with new members that
+ * the SDK is unaware of.
+ * - It was constructed with an arbitrary value using the [of] method.
+ */
+ enum class Value {
+ /** A PDF of an Internal Revenue Service Form 1099-INT. */
+ FORM_1099_INT,
+ /** An enum member indicating that [Category] was instantiated with an unknown value. */
+ _UNKNOWN,
+ }
+
+ /**
+ * Returns an enum member corresponding to this class instance's value, or [Value._UNKNOWN]
+ * if the class was instantiated with an unknown value.
+ *
+ * Use the [known] method instead if you're certain the value is always known or if you want
+ * to throw for the unknown case.
+ */
+ fun value(): Value =
+ when (this) {
+ FORM_1099_INT -> Value.FORM_1099_INT
+ else -> Value._UNKNOWN
+ }
+
+ /**
+ * Returns an enum member corresponding to this class instance's value.
+ *
+ * Use the [value] method instead if you're uncertain the value is always known and don't
+ * want to throw for the unknown case.
+ *
+ * @throws IncreaseInvalidDataException if this class instance's value is a not a known
+ * member.
+ */
+ fun known(): Known =
+ when (this) {
+ FORM_1099_INT -> Known.FORM_1099_INT
+ else -> throw IncreaseInvalidDataException("Unknown Category: $value")
+ }
+
+ /**
+ * Returns this class instance's primitive wire representation.
+ *
+ * This differs from the [toString] method because that method is primarily for debugging
+ * and generally doesn't throw.
+ *
+ * @throws IncreaseInvalidDataException if this class instance's value does not have the
+ * expected primitive type.
+ */
+ fun asString(): String =
+ _value().asString().orElseThrow {
+ IncreaseInvalidDataException("Value is not a String")
+ }
+
+ private var validated: Boolean = false
+
+ fun validate(): Category = apply {
+ if (validated) {
+ return@apply
+ }
+
+ known()
+ validated = true
+ }
+
+ fun isValid(): Boolean =
+ try {
+ validate()
+ true
+ } catch (e: IncreaseInvalidDataException) {
+ false
+ }
+
+ /**
+ * Returns a score indicating how many valid values are contained in this object
+ * recursively.
+ *
+ * Used for best match union deserialization.
+ */
+ @JvmSynthetic internal fun validity(): Int = if (value() == Value._UNKNOWN) 0 else 1
+
+ override fun equals(other: Any?): Boolean {
+ if (this === other) {
+ return true
+ }
+
+ return other is Category && value == other.value
+ }
+
+ override fun hashCode() = value.hashCode()
+
+ override fun toString() = value.toString()
+ }
+
+ /** Options for the created export. Required if `category` is equal to `form_1099_int`. */
+ class Form1099Int
+ @JsonCreator(mode = JsonCreator.Mode.DISABLED)
private constructor(
private val accountId: JsonField,
private val additionalProperties: MutableMap,
@@ -286,7 +658,7 @@ private constructor(
companion object {
/**
- * Returns a mutable builder for constructing an instance of [Body].
+ * Returns a mutable builder for constructing an instance of [Form1099Int].
*
* The following fields are required:
* ```java
@@ -296,16 +668,16 @@ private constructor(
@JvmStatic fun builder() = Builder()
}
- /** A builder for [Body]. */
+ /** A builder for [Form1099Int]. */
class Builder internal constructor() {
private var accountId: JsonField? = null
private var additionalProperties: MutableMap = mutableMapOf()
@JvmSynthetic
- internal fun from(body: Body) = apply {
- accountId = body.accountId
- additionalProperties = body.additionalProperties.toMutableMap()
+ internal fun from(form1099Int: Form1099Int) = apply {
+ accountId = form1099Int.accountId
+ additionalProperties = form1099Int.additionalProperties.toMutableMap()
}
/** The identifier of the Account the tax document is for. */
@@ -340,7 +712,7 @@ private constructor(
}
/**
- * Returns an immutable instance of [Body].
+ * Returns an immutable instance of [Form1099Int].
*
* Further updates to this [Builder] will not mutate the returned instance.
*
@@ -351,13 +723,16 @@ private constructor(
*
* @throws IllegalStateException if any required field is unset.
*/
- fun build(): Body =
- Body(checkRequired("accountId", accountId), additionalProperties.toMutableMap())
+ fun build(): Form1099Int =
+ Form1099Int(
+ checkRequired("accountId", accountId),
+ additionalProperties.toMutableMap(),
+ )
}
private var validated: Boolean = false
- fun validate(): Body = apply {
+ fun validate(): Form1099Int = apply {
if (validated) {
return@apply
}
@@ -387,7 +762,7 @@ private constructor(
return true
}
- return other is Body &&
+ return other is Form1099Int &&
accountId == other.accountId &&
additionalProperties == other.additionalProperties
}
@@ -397,7 +772,7 @@ private constructor(
override fun hashCode(): Int = hashCode
override fun toString() =
- "Body{accountId=$accountId, additionalProperties=$additionalProperties}"
+ "Form1099Int{accountId=$accountId, additionalProperties=$additionalProperties}"
}
override fun equals(other: Any?): Boolean {
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsync.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsync.kt
index a61ecd272..f5c599ab4 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsync.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/services/async/simulations/ExportServiceAsync.kt
@@ -24,7 +24,12 @@ interface ExportServiceAsync {
*/
fun withOptions(modifier: Consumer): ExportServiceAsync
- /** Simulates a tax form export being generated. */
+ /**
+ * Many exports are created by you via POST /exports or in the Dashboard. Some exports are
+ * created automatically by Increase. For example, tax documents are published once a year. In
+ * sandbox, you can trigger the arrival of an export that would normally only be created
+ * automatically via this simulation.
+ */
fun create(params: ExportCreateParams): CompletableFuture =
create(params, RequestOptions.none())
diff --git a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportService.kt b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportService.kt
index 3dfde152b..a2ff063db 100644
--- a/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportService.kt
+++ b/increase-java-core/src/main/kotlin/com/increase/api/services/blocking/simulations/ExportService.kt
@@ -24,7 +24,12 @@ interface ExportService {
*/
fun withOptions(modifier: Consumer): ExportService
- /** Simulates a tax form export being generated. */
+ /**
+ * Many exports are created by you via POST /exports or in the Dashboard. Some exports are
+ * created automatically by Increase. For example, tax documents are published once a year. In
+ * sandbox, you can trigger the arrival of an export that would normally only be created
+ * automatically via this simulation.
+ */
fun create(params: ExportCreateParams): Export = create(params, RequestOptions.none())
/** @see create */
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/models/simulations/exports/ExportCreateParamsTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/models/simulations/exports/ExportCreateParamsTest.kt
index 0caed7faf..c2686e6c5 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/models/simulations/exports/ExportCreateParamsTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/models/simulations/exports/ExportCreateParamsTest.kt
@@ -9,15 +9,46 @@ internal class ExportCreateParamsTest {
@Test
fun create() {
- ExportCreateParams.builder().accountId("account_in71c4amph0vgo2qllky").build()
+ ExportCreateParams.builder()
+ .category(ExportCreateParams.Category.FORM_1099_INT)
+ .form1099Int(
+ ExportCreateParams.Form1099Int.builder()
+ .accountId("account_in71c4amph0vgo2qllky")
+ .build()
+ )
+ .build()
}
@Test
fun body() {
- val params = ExportCreateParams.builder().accountId("account_in71c4amph0vgo2qllky").build()
+ val params =
+ ExportCreateParams.builder()
+ .category(ExportCreateParams.Category.FORM_1099_INT)
+ .form1099Int(
+ ExportCreateParams.Form1099Int.builder()
+ .accountId("account_in71c4amph0vgo2qllky")
+ .build()
+ )
+ .build()
val body = params._body()
- assertThat(body.accountId()).isEqualTo("account_in71c4amph0vgo2qllky")
+ assertThat(body.category()).isEqualTo(ExportCreateParams.Category.FORM_1099_INT)
+ assertThat(body.form1099Int())
+ .contains(
+ ExportCreateParams.Form1099Int.builder()
+ .accountId("account_in71c4amph0vgo2qllky")
+ .build()
+ )
+ }
+
+ @Test
+ fun bodyWithoutOptionalFields() {
+ val params =
+ ExportCreateParams.builder().category(ExportCreateParams.Category.FORM_1099_INT).build()
+
+ val body = params._body()
+
+ assertThat(body.category()).isEqualTo(ExportCreateParams.Category.FORM_1099_INT)
}
}
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncTest.kt
index 58e9f5b2c..93f619cf0 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/services/async/simulations/ExportServiceAsyncTest.kt
@@ -22,7 +22,14 @@ internal class ExportServiceAsyncTest {
val exportFuture =
exportServiceAsync.create(
- ExportCreateParams.builder().accountId("account_in71c4amph0vgo2qllky").build()
+ ExportCreateParams.builder()
+ .category(ExportCreateParams.Category.FORM_1099_INT)
+ .form1099Int(
+ ExportCreateParams.Form1099Int.builder()
+ .accountId("account_in71c4amph0vgo2qllky")
+ .build()
+ )
+ .build()
)
val export = exportFuture.get()
diff --git a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/simulations/ExportServiceTest.kt b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/simulations/ExportServiceTest.kt
index 70769797b..552c6e5da 100644
--- a/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/simulations/ExportServiceTest.kt
+++ b/increase-java-core/src/test/kotlin/com/increase/api/services/blocking/simulations/ExportServiceTest.kt
@@ -22,7 +22,14 @@ internal class ExportServiceTest {
val export =
exportService.create(
- ExportCreateParams.builder().accountId("account_in71c4amph0vgo2qllky").build()
+ ExportCreateParams.builder()
+ .category(ExportCreateParams.Category.FORM_1099_INT)
+ .form1099Int(
+ ExportCreateParams.Form1099Int.builder()
+ .accountId("account_in71c4amph0vgo2qllky")
+ .build()
+ )
+ .build()
)
export.validate()