From 7f43d474e72259ce1213b06a2fc24c158132d51d Mon Sep 17 00:00:00 2001 From: winrok Date: Tue, 11 Jun 2024 00:29:13 +0400 Subject: [PATCH 1/4] ECWID-138834 added parameters for searching orders --- .../v3/dto/order/request/OrdersSearchRequest.kt | 2 ++ .../com/ecwid/apiclient/v3/entity/CustomersTest.kt | 14 +++++++------- .../OrdersSearchRequestRules.kt | 1 + 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/OrdersSearchRequest.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/OrdersSearchRequest.kt index afba5ab6e..d9bfc93c8 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/OrdersSearchRequest.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/OrdersSearchRequest.kt @@ -23,6 +23,7 @@ data class OrdersSearchRequest( val customer: String? = null, val customerId: Int? = null, val email: String? = null, + val customerIdOrEmail: Boolean? = null, val paymentMethod: String? = null, val shippingMethod: String? = null, val paymentStatus: List? = null, @@ -60,6 +61,7 @@ data class OrdersSearchRequest( request.customer?.let { put("customer", it) } request.customerId?.let { put("customerId", it.toString()) } request.email?.let { put("email", it) } + request.customerIdOrEmail?.let { put("customerIdOrEmail", it.toString()) } request.paymentMethod?.let { put("paymentMethod", it) } request.shippingMethod?.let { put("shippingMethod", it) } request.paymentStatus?.let { put("paymentStatus", it.joinToString(",")) } diff --git a/src/test/kotlin/com/ecwid/apiclient/v3/entity/CustomersTest.kt b/src/test/kotlin/com/ecwid/apiclient/v3/entity/CustomersTest.kt index a644a18c2..c3b6c8553 100644 --- a/src/test/kotlin/com/ecwid/apiclient/v3/entity/CustomersTest.kt +++ b/src/test/kotlin/com/ecwid/apiclient/v3/entity/CustomersTest.kt @@ -293,15 +293,15 @@ class CustomersTest : BaseEntityTest() { assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.UPDATED_DATE_ASC) assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.UPDATED_DATE_DESC) - // TODO раскомментировать после выхода ECWID-115142 - // assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.SALES_VALUE_ASC) - // assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.SALES_VALUE_DESC) - // assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.FIRST_ORDER_DATE_ASC) - // assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.FIRST_ORDER_DATE_DESC) + assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.SALES_VALUE_ASC) + assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.SALES_VALUE_DESC) - // assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.LAST_ORDER_DATE_ASC) - // assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.LAST_ORDER_DATE_DESC) + assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.FIRST_ORDER_DATE_ASC) + assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.FIRST_ORDER_DATE_DESC) + + assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.LAST_ORDER_DATE_ASC) + assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.LAST_ORDER_DATE_DESC) } @Test diff --git a/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/OrdersSearchRequestRules.kt b/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/OrdersSearchRequestRules.kt index 20ed11a54..8092c0149 100644 --- a/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/OrdersSearchRequestRules.kt +++ b/src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/OrdersSearchRequestRules.kt @@ -11,6 +11,7 @@ val ordersSearchRequestRequestNullablePropertyRules: List Date: Tue, 11 Jun 2024 12:22:12 +0400 Subject: [PATCH 2/4] ECWID-138834 fixed test after ECWID-115922 --- .../com/ecwid/apiclient/v3/entity/CartsTest.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/test/kotlin/com/ecwid/apiclient/v3/entity/CartsTest.kt b/src/test/kotlin/com/ecwid/apiclient/v3/entity/CartsTest.kt index 66148360c..71f890156 100644 --- a/src/test/kotlin/com/ecwid/apiclient/v3/entity/CartsTest.kt +++ b/src/test/kotlin/com/ecwid/apiclient/v3/entity/CartsTest.kt @@ -694,9 +694,21 @@ private fun UpdatedOrder.cleanupForComparison(order: UpdatedOrder): UpdatedOrder option.copy( valueTranslated = order.items?.get(index)?.selectedOptions?.get(optIndex)?.valueTranslated ) + }, + discounts = order.items?.get(index)?.discounts?.mapIndexed { discountIndex, discount -> + discount.copy( + discountInfo = order.items?.get(index)?.discounts?.get(discountIndex)?.discountInfo?.copy( + appliesToItems = null + ) + ) } ) }, customerFiscalCode = null, // ApiOrder has empty string instead of null + discountInfo = order.discountInfo?.map { + it.copy( + appliesToItems = null + ) + } ) } From 8d6669821328c805fe4bc6170f73243792516688 Mon Sep 17 00:00:00 2001 From: winrok Date: Tue, 11 Jun 2024 12:56:38 +0400 Subject: [PATCH 3/4] ECWID-138834 fixed test testSearchSorting --- .../apiclient/v3/entity/CustomersTest.kt | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/test/kotlin/com/ecwid/apiclient/v3/entity/CustomersTest.kt b/src/test/kotlin/com/ecwid/apiclient/v3/entity/CustomersTest.kt index c3b6c8553..d87b640a3 100644 --- a/src/test/kotlin/com/ecwid/apiclient/v3/entity/CustomersTest.kt +++ b/src/test/kotlin/com/ecwid/apiclient/v3/entity/CustomersTest.kt @@ -268,15 +268,34 @@ class CustomersTest : BaseEntityTest() { val customerCreateResult2 = apiClient.createCustomer(customerCreateRequest2) assertTrue(customerCreateResult2.id > 0) - // Creating order for one of those customers val orderCreateRequest = OrderCreateRequest( newOrder = UpdatedOrder( - email = customerCreateRequest2.newCustomer.email + email = customerCreateRequest1.newCustomer.email, + total = 5.0 ) ) val orderCreateResult = apiClient.createOrder(orderCreateRequest) assertTrue(orderCreateResult.id > 0) + val orderCreateRequest2 = OrderCreateRequest( + newOrder = UpdatedOrder( + email = customerCreateRequest2.newCustomer.email, + total = 5.0 + ) + ) + val orderCreateResult2 = apiClient.createOrder(orderCreateRequest2) + assertTrue(orderCreateResult2.id > 0) + + + val orderCreateRequest3 = OrderCreateRequest( + newOrder = UpdatedOrder( + email = customerCreateRequest2.newCustomer.email, + total = 5.0 + ) + ) + val orderCreateResult3 = apiClient.createOrder(orderCreateRequest3) + assertTrue(orderCreateResult3.id > 0) + // Trying to search using different sorts assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.NAME_ASC) From 211897a2a6176e573a5cb4c407ce7d79a33372d1 Mon Sep 17 00:00:00 2001 From: winrok Date: Tue, 11 Jun 2024 13:32:43 +0400 Subject: [PATCH 4/4] ECWID-138834 fixed test testOrderLifecycle after ECWID-115922 --- .../ecwid/apiclient/v3/entity/OrdersTest.kt | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/test/kotlin/com/ecwid/apiclient/v3/entity/OrdersTest.kt b/src/test/kotlin/com/ecwid/apiclient/v3/entity/OrdersTest.kt index 2c7d72295..34a529686 100644 --- a/src/test/kotlin/com/ecwid/apiclient/v3/entity/OrdersTest.kt +++ b/src/test/kotlin/com/ecwid/apiclient/v3/entity/OrdersTest.kt @@ -433,6 +433,11 @@ private fun UpdatedOrder.cleanupForComparison(order: UpdatedOrder): UpdatedOrder item.cleanupForComparison(requestItem) }, customerFiscalCode = null, // ApiOrder has empty string instead of null + discountInfo = order.discountInfo?.map { + it.copy( + appliesToItems = null + ) + } ) } @@ -445,7 +450,11 @@ private fun UpdatedOrder.OrderItem.cleanupForComparison(orderItem: UpdatedOrder. selectedOptions = selectedOptions?.mapIndexed { index, option -> val requestOption = orderItem?.selectedOptions?.get(index) option.cleanupForComparison(requestOption) - } + }, + discounts = discounts?.mapIndexed { index, discount -> + val requestDiscount = orderItem?.discounts?.get(index) + discount.cleanupForComparison(requestDiscount) + }, ) } @@ -458,3 +467,11 @@ private fun UpdatedOrder.OrderItemSelectedOption.cleanupForComparison(orderItemS } ) } + +private fun UpdatedOrder.OrderItemDiscounts.cleanupForComparison(orderItemSelectedDiscount: UpdatedOrder.OrderItemDiscounts?): UpdatedOrder.OrderItemDiscounts { + return copy( + discountInfo = orderItemSelectedDiscount?.discountInfo?.copy( + appliesToItems = null + ) + ) +}