Merge branch 'release/test' of http://8.163.30.128:10082/html/admin-web into release/test
This commit is contained in:
@@ -107,6 +107,56 @@ describe('UnifiedOrdersView downstream fulfillment detail', () => {
|
||||
})
|
||||
})
|
||||
|
||||
it('keeps unchanged actual and outer volumes on the same server snapshot with three decimal places', async () => {
|
||||
const wrapper = mountDetail()
|
||||
await flushPromises()
|
||||
const vm = wrapper.vm as unknown as {
|
||||
measurementDetail: Record<string, unknown>
|
||||
measurementSectionModes: { outer: string; actual: string }
|
||||
outerMeasurementRows: Record<string, unknown>[]
|
||||
actualMeasurementRows: Record<string, unknown>[]
|
||||
measurementTotals(rows: Record<string, unknown>[]): { volume: number; weightVolume: number }
|
||||
measurementValue(row: Record<string, unknown>, key: string): string
|
||||
formatMeasurementVolume(value: number | null): string
|
||||
}
|
||||
const items = [
|
||||
{ lengthCm: 60, widthCm: 50, heightCm: 50, packageCount: 10, unitVolumeCbm: 0.15, totalVolumeCbm: 1.5 },
|
||||
{ lengthCm: 61, widthCm: 51, heightCm: 51, packageCount: 9, unitVolumeCbm: 0.159, totalVolumeCbm: 1.431 },
|
||||
{ lengthCm: 50, widthCm: 40, heightCm: 40, packageCount: 1, unitVolumeCbm: 0.08, totalVolumeCbm: 0.08 },
|
||||
].map((row, index) => ({
|
||||
...row, itemNo: index + 1, coefficientMode: 'ACTUAL',
|
||||
calculatedOuterLengthCm: row.lengthCm, calculatedOuterWidthCm: row.widthCm, calculatedOuterHeightCm: row.heightCm,
|
||||
}))
|
||||
vm.measurementDetail = { items }
|
||||
vm.measurementSectionModes.outer = 'ACTUAL'
|
||||
vm.measurementSectionModes.actual = 'ACTUAL'
|
||||
await flushPromises()
|
||||
|
||||
for (const rows of [vm.outerMeasurementRows, vm.actualMeasurementRows]) {
|
||||
expect(rows.map(row => vm.measurementValue(row, 'totalVolumeCbm'))).toEqual(['1.500', '1.431', '0.080'])
|
||||
expect(rows.map(row => vm.measurementValue(row, 'unitVolumeCbm'))).toEqual(['0.150', '0.159', '0.080'])
|
||||
expect(vm.formatMeasurementVolume(vm.measurementTotals(rows).volume)).toBe('3.011')
|
||||
expect(vm.formatMeasurementVolume(vm.measurementTotals(rows).weightVolume)).toBe('3.011')
|
||||
}
|
||||
expect(vm.formatMeasurementVolume(3)).toBe('3.000')
|
||||
expect(vm.formatMeasurementVolume(0)).toBe('0.000')
|
||||
expect(vm.formatMeasurementVolume(null)).toBe('—')
|
||||
|
||||
// 仓库修正的外箱仍与实测尺寸分开,不能把外箱计费快照当成原始实测体积。
|
||||
vm.measurementDetail = { items: [{ ...items[1], outerLengthCm: 62,
|
||||
calculatedOuterLengthCm: 62, unitVolumeCbm: 0.1613, totalVolumeCbm: 1.4517,
|
||||
calculationRuleVersion: 'WAREHOUSE_OUTER_OVERRIDE_V1' }] }
|
||||
await flushPromises()
|
||||
expect(vm.measurementValue(vm.outerMeasurementRows[0]!, 'totalVolumeCbm')).toBe('1.452')
|
||||
expect(vm.measurementValue(vm.actualMeasurementRows[0]!, 'totalVolumeCbm')).toBe('1.428')
|
||||
|
||||
vm.measurementDetail = { items: [{ ...items[1], coefficientMode: 'ADD', calculatedOuterLengthCm: 62,
|
||||
calculatedOuterWidthCm: 52, calculatedOuterHeightCm: 52, unitVolumeCbm: 0.168, totalVolumeCbm: 1.512 }] }
|
||||
await flushPromises()
|
||||
expect(vm.measurementValue(vm.actualMeasurementRows[0]!, 'totalVolumeCbm')).toBe('1.428')
|
||||
wrapper.unmount()
|
||||
})
|
||||
|
||||
it('downloads one preview for cargo rows sharing the same product image', async () => {
|
||||
vi.mocked(getPlatformUnifiedOrder).mockResolvedValue({
|
||||
...detail,
|
||||
|
||||
Reference in New Issue
Block a user