Skip to content

Commit 037ae9f

Browse files
committed
ECWID-141762 merge branch 'master' into ECWID-141762
2 parents 6b549fa + d033232 commit 037ae9f

5 files changed

Lines changed: 61 additions & 10 deletions

File tree

src/main/kotlin/com/ecwid/apiclient/v3/dto/order/request/OrdersSearchRequest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ data class OrdersSearchRequest(
2323
val customer: String? = null,
2424
val customerId: Int? = null,
2525
val email: String? = null,
26+
val customerIdOrEmail: Boolean? = null,
2627
val paymentMethod: String? = null,
2728
val shippingMethod: String? = null,
2829
val paymentStatus: List<OrderPaymentStatus>? = null,
@@ -60,6 +61,7 @@ data class OrdersSearchRequest(
6061
request.customer?.let { put("customer", it) }
6162
request.customerId?.let { put("customerId", it.toString()) }
6263
request.email?.let { put("email", it) }
64+
request.customerIdOrEmail?.let { put("customerIdOrEmail", it.toString()) }
6365
request.paymentMethod?.let { put("paymentMethod", it) }
6466
request.shippingMethod?.let { put("shippingMethod", it) }
6567
request.paymentStatus?.let { put("paymentStatus", it.joinToString(",")) }

src/test/kotlin/com/ecwid/apiclient/v3/entity/CartsTest.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -694,9 +694,21 @@ private fun UpdatedOrder.cleanupForComparison(order: UpdatedOrder): UpdatedOrder
694694
option.copy(
695695
valueTranslated = order.items?.get(index)?.selectedOptions?.get(optIndex)?.valueTranslated
696696
)
697+
},
698+
discounts = order.items?.get(index)?.discounts?.mapIndexed { discountIndex, discount ->
699+
discount.copy(
700+
discountInfo = order.items?.get(index)?.discounts?.get(discountIndex)?.discountInfo?.copy(
701+
appliesToItems = null
702+
)
703+
)
697704
}
698705
)
699706
},
700707
customerFiscalCode = null, // ApiOrder has empty string instead of null
708+
discountInfo = order.discountInfo?.map {
709+
it.copy(
710+
appliesToItems = null
711+
)
712+
}
701713
)
702714
}

src/test/kotlin/com/ecwid/apiclient/v3/entity/CustomersTest.kt

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -268,15 +268,34 @@ class CustomersTest : BaseEntityTest() {
268268
val customerCreateResult2 = apiClient.createCustomer(customerCreateRequest2)
269269
assertTrue(customerCreateResult2.id > 0)
270270

271-
// Creating order for one of those customers
272271
val orderCreateRequest = OrderCreateRequest(
273272
newOrder = UpdatedOrder(
274-
email = customerCreateRequest2.newCustomer.email
273+
email = customerCreateRequest1.newCustomer.email,
274+
total = 5.0
275275
)
276276
)
277277
val orderCreateResult = apiClient.createOrder(orderCreateRequest)
278278
assertTrue(orderCreateResult.id > 0)
279279

280+
val orderCreateRequest2 = OrderCreateRequest(
281+
newOrder = UpdatedOrder(
282+
email = customerCreateRequest2.newCustomer.email,
283+
total = 5.0
284+
)
285+
)
286+
val orderCreateResult2 = apiClient.createOrder(orderCreateRequest2)
287+
assertTrue(orderCreateResult2.id > 0)
288+
289+
290+
val orderCreateRequest3 = OrderCreateRequest(
291+
newOrder = UpdatedOrder(
292+
email = customerCreateRequest2.newCustomer.email,
293+
total = 5.0
294+
)
295+
)
296+
val orderCreateResult3 = apiClient.createOrder(orderCreateRequest3)
297+
assertTrue(orderCreateResult3.id > 0)
298+
280299
// Trying to search using different sorts
281300

282301
assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.NAME_ASC)
@@ -293,15 +312,15 @@ class CustomersTest : BaseEntityTest() {
293312

294313
assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.UPDATED_DATE_ASC)
295314
assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.UPDATED_DATE_DESC)
296-
// TODO раскомментировать после выхода ECWID-115142
297-
// assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.SALES_VALUE_ASC)
298-
// assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.SALES_VALUE_DESC)
299315

300-
// assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.FIRST_ORDER_DATE_ASC)
301-
// assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.FIRST_ORDER_DATE_DESC)
316+
assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.SALES_VALUE_ASC)
317+
assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.SALES_VALUE_DESC)
318+
319+
assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.FIRST_ORDER_DATE_ASC)
320+
assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.FIRST_ORDER_DATE_DESC)
302321

303-
// assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.LAST_ORDER_DATE_ASC)
304-
// assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.LAST_ORDER_DATE_DESC)
322+
assertCustomersSortBySearch(customerCreateResult1.id, SortOrder.LAST_ORDER_DATE_ASC)
323+
assertCustomersSortBySearch(customerCreateResult2.id, SortOrder.LAST_ORDER_DATE_DESC)
305324
}
306325

307326
@Test

src/test/kotlin/com/ecwid/apiclient/v3/entity/OrdersTest.kt

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,11 @@ private fun UpdatedOrder.cleanupForComparison(order: UpdatedOrder): UpdatedOrder
433433
item.cleanupForComparison(requestItem)
434434
},
435435
customerFiscalCode = null, // ApiOrder has empty string instead of null
436+
discountInfo = order.discountInfo?.map {
437+
it.copy(
438+
appliesToItems = null
439+
)
440+
}
436441
)
437442
}
438443

@@ -445,7 +450,11 @@ private fun UpdatedOrder.OrderItem.cleanupForComparison(orderItem: UpdatedOrder.
445450
selectedOptions = selectedOptions?.mapIndexed { index, option ->
446451
val requestOption = orderItem?.selectedOptions?.get(index)
447452
option.cleanupForComparison(requestOption)
448-
}
453+
},
454+
discounts = discounts?.mapIndexed { index, discount ->
455+
val requestDiscount = orderItem?.discounts?.get(index)
456+
discount.cleanupForComparison(requestDiscount)
457+
},
449458
)
450459
}
451460

@@ -458,3 +467,11 @@ private fun UpdatedOrder.OrderItemSelectedOption.cleanupForComparison(orderItemS
458467
}
459468
)
460469
}
470+
471+
private fun UpdatedOrder.OrderItemDiscounts.cleanupForComparison(orderItemSelectedDiscount: UpdatedOrder.OrderItemDiscounts?): UpdatedOrder.OrderItemDiscounts {
472+
return copy(
473+
discountInfo = orderItemSelectedDiscount?.discountInfo?.copy(
474+
appliesToItems = null
475+
)
476+
)
477+
}

src/test/kotlin/com/ecwid/apiclient/v3/rule/nullablepropertyrules/OrdersSearchRequestRules.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ val ordersSearchRequestRequestNullablePropertyRules: List<NullablePropertyRule<*
1111
AllowNullable(OrdersSearchRequest::customer),
1212
AllowNullable(OrdersSearchRequest::customerId),
1313
AllowNullable(OrdersSearchRequest::email),
14+
AllowNullable(OrdersSearchRequest::customerIdOrEmail),
1415
AllowNullable(OrdersSearchRequest::fulfillmentStatus),
1516
AllowNullable(OrdersSearchRequest::ids),
1617
AllowNullable(OrdersSearchRequest::keywords),

0 commit comments

Comments
 (0)