feat(selfop): show customer and SKU volume in inventory turnover

This commit is contained in:
2026-10-14 17:48:53 +08:00
parent 46364d3f89
commit 2975ba5a7f
6 changed files with 77 additions and 10 deletions
@@ -1,7 +1,15 @@
import { describe, expect, it } from 'vitest'
import { turnoverChart, turnoverNumber, windowText, turnoverReasonsText } from './turnoverPresentation'
import { turnoverChart, turnoverNumber, windowText, turnoverReasonsText, volumeNote } from './turnoverPresentation'
import type { TurnoverCharts, TurnoverWindowMetric } from './turnoverTypes'
describe('turnover honest precision and charts', () => {
it('keeps unknown volume distinct from zero and labels historical volume as estimated', () => {
const value = { value: null, knownSubtotal: 0, missingDimensionQuantity: 15, missingDimensionSkuCount: 2, unknownQuantitySkuCount: 1, declaredDimensionQuantity: 0, reasonCodes: [] }
expect(volumeNote(value)).toContain('已知小计 0 m³')
expect(volumeNote(value)).toContain('缺尺寸 2 SKU / 15 件')
expect(volumeNote(value)).toContain('数量待确认 1 SKU')
expect(volumeNote({ ...value, value: 0, missingDimensionSkuCount: 0, unknownQuantitySkuCount: 0 })).toBe('已知体积为0')
expect(volumeNote(value, true)).toContain('按当前商品尺寸估算')
})
it('explains missing samples and zero average stock without exposing internal statuses', () => {
expect(turnoverReasonsText(['INSUFFICIENT'])).toBe('合格日库存样本不足')
expect(turnoverReasonsText(['ZERO_AVERAGE_STOCK'])).toContain('每日观测未捕获存量')