62 lines
31 KiB
JSON
62 lines
31 KiB
JSON
[
|
|||
|
|
{
|
||
|
|
"class": "com.baiyue.lastleg.controller.Phase4BrowserApiBoundaryTest",
|
||
|
|
"test": "smartDispatchOnlyExposesCandidatePreArrangeAndDraftLifecycleEndpoints",
|
||
|
|
"type": "failure",
|
||
|
|
"message": "expected: <[/drafts/containers, /draft-locks/lock, /drafts/pre-arrange, /draft-locks/release, /drafts/snapshot, /draft-locks/unlock, /pre-arrange]> but was: <[/draft-locks/lock, /draft-locks/release, /draft-locks/unlock, /drafts/pre-arrange, /drafts/snapshot, /drafts/containers, /drafts]>"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"class": "com.baiyue.lastleg.delivery.service.ReturnOutboundClosureTest",
|
||
|
|
"test": "cancellationRejectsPickedNativeBoxWithoutReleasingItsReservation",
|
||
|
|
"type": "failure",
|
||
|
|
"message": "\nExpecting actual throwable to be an instance of:\n org.springframework.web.server.ResponseStatusException\nbut was:\n java.lang.NullPointerException: Cannot invoke \"com.baiyue.lastleg.delivery.repository.DeliveryCancellationRepository.find(String)\" because \"<local5>.cancellations\" is null\n at com.baiyue.lastleg.delivery.service.DeliveryTransferService.cancelOutbound(DeliveryTransferService.java:895)\n at com.baiyue.lastleg.delivery.service.ReturnOutboundClosureTest.lambda$cancellationRejectsPickedNativeBoxWithoutReleasingItsReservation$7(ReturnOutboundClosureTest.java:138)\n at org.assertj.core.api.ThrowableAssert.catchThrowable(ThrowableAssert.java:63)\n ...(75 remaining lines not displayed - this can be changed with Assertions.setMaxStackTraceElementsDisplayed)"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"class": "com.baiyue.lastleg.delivery.service.ReturnOutboundClosureTest",
|
||
|
|
"test": "cancelsUntouchedNativeRelabelWithItsOwningApplication",
|
||
|
|
"type": "error",
|
||
|
|
"message": "Cannot invoke \"com.baiyue.lastleg.delivery.repository.DeliveryCancellationRepository.find(String)\" because \"<local5>.cancellations\" is null"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"class": "com.baiyue.lastleg.dispatch.service.DispatchServiceTest",
|
||
|
|
"test": "duplicateAndPartialRelabelSelectionsAreRejectedBeforeMutation",
|
||
|
|
"type": "failure",
|
||
|
|
"message": "\nExpecting throwable message:\n \"Cannot invoke \"com.baiyue.lastleg.relabel.port.RelabelDispatchSourcePort.snapshot(String, java.util.List)\" because \"this.relabelSources\" is null\"\nto contain:\n \"完整选择\"\nbut did not.\n\nThrowable that failed the check:\n\njava.lang.NullPointerException: Cannot invoke \"com.baiyue.lastleg.relabel.port.RelabelDispatchSourcePort.snapshot(String, java.util.List)\" because \"this.relabelSources\" is null\n at com.baiyue.lastleg.dispatch.service.DispatchService.sourceGroup(DispatchService.java:89)\n at com.baiyue.lastleg.dispatch.service.DispatchService.resolveWholeSources(DispatchService.java:213)\n at com.baiyue.lastleg.dispatch.service.DispatchService.lockWholeSources(DispatchService.java:187)\n at com.baiyue.lastleg.dispatch.service.DispatchServiceTest.lambda$2(DispatchServiceTest.java:40)\n at org.assertj.core.api.ThrowableAssert.catchThrowable(ThrowableAssert.java:63)\n at org.assertj.core.api.AssertionsForClassTypes.catchThrowable(AssertionsForClassTypes.java:892)\n at org.assertj.core.api.Assertions.catchThrowable(Assertions.java:1366)\n at org.assertj.core.api.Assertions.assertThatThrownBy(Assertions.java:1210)\n at com.baiyue.lastleg.dispatch.service.DispatchServiceTest.duplicateAndPartialRelabelSelectionsAreRejectedBeforeMutation(DispatchServiceTest.java:40)\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.base/java.lang.reflect.Method.invoke(Method.java:569)\n at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)\n at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)\n at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)\n at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)\n at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)\n at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)\n at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)\n at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)\n at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)\n at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)\n at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)\n at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)\n at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)\n at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)\n at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218)\n at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214)\n at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139)\n at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)\n at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)\n at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCo
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"class": "com.baiyue.lastleg.dispatch.service.DispatchServiceTest",
|
||
|
|
"test": "nonTruckRelabelCannotReachMeasurementsOrCargoMutation",
|
||
|
|
"type": "failure",
|
||
|
|
"message": "\nExpecting throwable message:\n \"409 CONFLICT \"换标托盘来源已变化\"\"\nto contain:\n \"排车资格\"\nbut did not.\n\nThrowable that failed the check:\n\norg.springframework.web.server.ResponseStatusException: 409 CONFLICT \"换标托盘来源已变化\"\n at com.baiyue.lastleg.dispatch.service.DispatchService.lambda$1(DispatchService.java:68)\n at java.base/java.util.Optional.orElseThrow(Optional.java:403)\n at com.baiyue.lastleg.dispatch.service.DispatchService.readSelection(DispatchService.java:68)\n at com.baiyue.lastleg.dispatch.service.DispatchService.resolveWholeSources(DispatchService.java:213)\n at com.baiyue.lastleg.dispatch.service.DispatchService.lockWholeSources(DispatchService.java:187)\n at com.baiyue.lastleg.dispatch.service.DispatchServiceTest.lambda$4(DispatchServiceTest.java:47)\n at org.assertj.core.api.ThrowableAssert.catchThrowable(ThrowableAssert.java:63)\n at org.assertj.core.api.AssertionsForClassTypes.catchThrowable(AssertionsForClassTypes.java:892)\n at org.assertj.core.api.Assertions.catchThrowable(Assertions.java:1366)\n at org.assertj.core.api.Assertions.assertThatThrownBy(Assertions.java:1210)\n at com.baiyue.lastleg.dispatch.service.DispatchServiceTest.nonTruckRelabelCannotReachMeasurementsOrCargoMutation(DispatchServiceTest.java:47)\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.base/java.lang.reflect.Method.invoke(Method.java:569)\n at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)\n at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)\n at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)\n at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)\n at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)\n at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)\n at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)\n at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)\n at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)\n at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)\n at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)\n at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)\n at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)\n at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)\n at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218)\n at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214)\n at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139)\n at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)\n at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)\n at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n at org.junit.pl
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"class": "com.baiyue.lastleg.dispatch.service.ReturnDispatchCandidatePersistenceTest",
|
||
|
|
"test": "actualReturnOnANewPalletCanBeSelectedWithoutAnInboundPlanPallet",
|
||
|
|
"type": "failure",
|
||
|
|
"message": "\nExpecting empty but was: [DispatchPalletCandidate(planId=null, planPalletId=null, warehousePalletId=900, orderId=1, customerId=A, customerName=客户A, planNo=null, orderType=FIRST_LEG, volumeWeightKg=null, grossWeightKg=null, containerNo=null, appointmentAt=null, expectedLoadingAt=null, overseasWarehouseId=92, overseasWarehouseCode=WH, overseasWarehouseName=海外仓, orderNo=LM-1, orderRefs=LM-1, inboundCode=IN-1, palletNo=RETURN-PALLET, destinationWarehouseId=null, destinationWarehouseCode=ONT8, destinationWarehouseName=ONT8, fbaWarehouseCode=ONT8, packageCount=2, volumeCbm=null, sourceStage=RECEIVED, cartonMarks=null, relabelCartonMarks=null, destinationType=FBA, deliveryAddress=null, postalCode=null, contactName=null, contactPhone=null, returnReceiptId=6, returnReceiptNo=RSR-6, returnCartonSource=false)]"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"class": "com.baiyue.lastleg.inboundplan.service.FbaAppointmentRepartitionPersistenceTest",
|
||
|
|
"test": "existingTransportAndConcurrentRepartitionCannotDuplicateWork",
|
||
|
|
"type": "error",
|
||
|
|
"message": "StatementCallback; bad SQL grammar [INSERT INTO ll_dispatch_order VALUES(10,'A','DRAFT')]"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"class": "com.baiyue.lastleg.inboundplan.service.InboundPlanPaginationTest",
|
||
|
|
"test": "mapperSqlProjectsLatestAppointmentAndTenantScopedDispatchState",
|
||
|
|
"type": "failure",
|
||
|
|
"message": "\nExpecting actual:\n \"<script>SELECT l.id lineId,p.id planId,p.plan_no planNo,p.customer_id customerId,l.order_id orderId,l.inbound_code inboundCode,o.lx_code lxCode,o.order_type orderType,p.overseas_warehouse_id overseasWarehouseId,o.overseas_warehouse_code overseasWarehouseCode,o.overseas_warehouse_name overseasWarehouseName,l.destination_warehouse_id warehouseId,l.destination_warehouse_code warehouseCode,l.destination_warehouse_name warehouseName,l.fba_warehouse_code fbaWarehouseCode,o.customer_name customerName,l.required_package_count packageCount,COALESCE((SELECT SUM(pa.picked_package_count) FROM ll_inbound_plan_pallet_allocation pa WHERE pa.line_id=l.id),0) pickedPackageCount,COALESCE((SELECT SUM(d.gross_weight_kg) FROM ll_order_detail d WHERE d.order_id=l.order_id AND d.customer_id=p.customer_id),(SELECT i.gross_weight_kg FROM ll_inbound_order i WHERE i.id=l.order_id AND i.customer_id=p.customer_id),0) grossWeightKg,COALESCE((SELECT SUM(d.net_weight_kg) FROM ll_order_detail d WHERE d.order_id=l.order_id AND d.customer_id=p.customer_id),(SELECT i.net_weight_kg FROM ll_inbound_order i WHERE i.id=l.order_id AND i.customer_id=p.customer_id),0) netWeightKg,l.volume_cbm volumeCbm,l.planned_pallet_count palletCount,p.assigned_flag assigned,p.merge_required mergeAllowed,p.urgent_flag urgent,p.status status,CASE WHEN (SELECT COUNT(DISTINCT current_item.appointment_id) FROM ll_inbound_fba_appointment_item current_item WHERE current_item.order_id=l.order_id AND current_item.customer_id=p.customer_id AND current_item.fba_warehouse_code=l.fba_warehouse_code AND current_item.active=1)>1 THEN NULL ELSE a.appointment_no END appointmentNo,CASE WHEN (SELECT COUNT(DISTINCT current_item.appointment_id) FROM ll_inbound_fba_appointment_item current_item WHERE current_item.order_id=l.order_id AND current_item.customer_id=p.customer_id AND current_item.fba_warehouse_code=l.fba_warehouse_code AND current_item.active=1)>1 THEN 'MULTIPLE' ELSE a.appointment_status END appointmentStatus,CASE WHEN (SELECT COUNT(DISTINCT current_item.appointment_id) FROM ll_inbound_fba_appointment_item current_item WHERE current_item.order_id=l.order_id AND current_item.customer_id=p.customer_id AND current_item.fba_warehouse_code=l.fba_warehouse_code AND current_item.active=1)>1 THEN NULL ELSE a.appointment_at END appointmentAt,NULL expectedLoadingAt,CASE WHEN EXISTS (SELECT 1 FROM ll_dispatch_item di JOIN ll_dispatch_order dispatch ON dispatch.id=di.dispatch_order_id WHERE di.customer_id=p.customer_id AND di.order_id=l.order_id AND dispatch.status<>'CANCELLED') THEN 'SCHEDULED' ELSE 'UNSCHEDULED' END dispatchStatus,p.created_at createdAt,p.version version FROM ll_inbound_plan_line l JOIN ll_inbound_plan p ON p.id=l.plan_id JOIN ll_order o ON o.id=l.order_id AND o.customer_id=p.customer_id<if test='customerId != null and customerId != \"\"'> AND p.customer_id=#{customerId} AND o.customer_id=#{customerId}</if> LEFT JOIN ll_inbound_fba_appointment_item ai ON ai.order_id=l.order_id AND ai.customer_id=p.customer_id AND ai.id=(SELECT ai2.id FROM ll_inbound_fba_appointment_item ai2 JOIN ll_inbound_fba_appointment a2 ON a2.id=ai2.appointment_id WHERE ai2.order_id=l.order_id AND ai2.customer_id=p.customer_id AND ai2.fba_warehouse_code=l.fba_warehouse_code AND a2.replacement_nos_json IS NULL ORDER BY ai2.active DESC,a2.created_at DESC,ai2.id DESC LIMIT 1) LEFT JOIN ll_inbound_fba_appointment a ON a.id=ai.appointment_id WHERE 1=1<if test='q.planNo != null and q.planNo != \"\"'> AND p.plan_no LIKE CONCAT('%',#{q.planNo},'%')</if><if test='q.inboundCode != null and q.inboundCode != \"\"'> AND l.inbound_code LIKE CONCAT('%',#{q.inboundCode},'%')</if><if test='q.lxCode != null and q.lxCode != \"\"'> AND o.lx_code LIKE CONCAT('%',#{q.lxCode},'%')</if><if test='q.status != null and q.status != \"\"'> AND p.status=#{q.status}</if><if test='q.overseasWarehouseId != null and q.overseasWarehouseId != \"\"'> AND p.overseas_warehouse_id=#{q.overseasWarehouseId}</if><if test='q.destinationWarehouseCode != null and q.destinationWarehouseCode != \"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"class": "com.baiyue.lastleg.inboundplan.work.AppointmentWorkDomainMapperTest",
|
||
|
|
"test": "originalDomainJoinsExecuteAgainstTheCurrentSchemaWithoutInventedColumns",
|
||
|
|
"type": "error",
|
||
|
|
"message": "Column \"CUSTOMER_ID\" not found; SQL statement:\nINSERT INTO ll_dispatch_order(id,customer_id,dispatch_no,status) VALUES(501,'A','D-1','PENDING_DEPARTURE'),(502,'B','D-2','CANCELLED'),(503,'B','D-3','PENDING_DEPARTURE') [42122-224]"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"class": "com.baiyue.lastleg.transfer.service.WarehouseTransferServiceTest",
|
||
|
|
"test": "submittingOldDraftRechecksRelabelCartonOwnership",
|
||
|
|
"type": "error",
|
||
|
|
"message": "\nUnnecessary stubbings detected.\nClean & maintainable test code requires zero unnecessary code.\nFollowing stubbings are unnecessary (click to navigate to relevant line of code):\n 1. -> at com.baiyue.lastleg.transfer.service.WarehouseTransferServiceTest.submittingOldDraftRechecksRelabelCartonOwnership(WarehouseTransferServiceTest.java:526)\nPlease remove unnecessary stubbings or use 'lenient' strictness. More info: javadoc for UnnecessaryStubbingException class."
|
||
|
|
}
|
||
|
|
]
|