This commit is contained in:
2026-10-13 13:46:56 +08:00
parent 1de73b5f1c
commit 8bf7b20b89
10 changed files with 88 additions and 16 deletions
@@ -0,0 +1,7 @@
import { expect, it } from 'vitest'
import { relabelSkuCodes } from './relabelSkuDisplay'
it('uses every nested SKU, deduplicates and preserves carton-only SKU lists', () => {
expect(relabelSkuCodes({ skuCode: 'FIRST', skuItems: [{ skuCode: 'FIRST' }, { skuCode: 'SECOND' }, { skuCode: 'FIRST' }] })).toEqual(['FIRST', 'SECOND'])
expect(relabelSkuCodes({ skuCode: 'FIRST,SECOND', skuItems: [] })).toEqual(['FIRST', 'SECOND'])
})
@@ -0,0 +1,9 @@
interface RelabelSkuSource {
skuCode?: string | null
skuItems?: Array<{ skuCode: string }> | null
}
export function relabelSkuCodes(item: RelabelSkuSource): string[] {
const codes = item.skuItems?.length ? item.skuItems.map(line => line.skuCode) : (item.skuCode || '').split(',')
return [...new Set(codes.map(code => code.trim()).filter(Boolean))]
}