feat(web-admin): add resolveAddressNotesFill for address library notes
Encode empty-only fill rule for load/delivery notes when selecting an address. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
7f9516e63d
commit
86e668920c
2 files changed
+37
No files matched your search
@@ -0,0 +1,24 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import { describe, it } from 'node:test'
|
||||
import { resolveAddressNotesFill } from './pl-address-notes-fill'
|
||||
|
||||
describe('resolveAddressNotesFill', () => {
|
||||
it('returns library notes when current is empty', () => {
|
||||
assert.equal(resolveAddressNotesFill('', '大门左侧卸货'), '大门左侧卸货')
|
||||
assert.equal(resolveAddressNotesFill(' ', '大门左侧卸货'), '大门左侧卸货')
|
||||
assert.equal(resolveAddressNotesFill(null, '大门左侧卸货'), '大门左侧卸货')
|
||||
assert.equal(resolveAddressNotesFill(undefined, ' trim me '), 'trim me')
|
||||
})
|
||||
|
||||
it('returns undefined when library notes empty', () => {
|
||||
assert.equal(resolveAddressNotesFill('', ''), undefined)
|
||||
assert.equal(resolveAddressNotesFill('已有', ''), undefined)
|
||||
assert.equal(resolveAddressNotesFill('已有', ' '), undefined)
|
||||
assert.equal(resolveAddressNotesFill('已有', null), undefined)
|
||||
})
|
||||
|
||||
it('returns undefined when current notes already set', () => {
|
||||
assert.equal(resolveAddressNotesFill('表单已有', '库内注意事项'), undefined)
|
||||
assert.equal(resolveAddressNotesFill(' 表单已有 ', '库内'), undefined)
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
* 地址库注意事项 → 装/送货注意事项回填。
|
||||
* 仅当库内有非空 notes 且当前表单 notes 为空(trim)时返回待写入值;否则 undefined(不改动)。
|
||||
*/
|
||||
export function resolveAddressNotesFill(
|
||||
currentNotes: string | null | undefined,
|
||||
libraryNotes: string | null | undefined
|
||||
): string | undefined {
|
||||
const lib = (libraryNotes || '').trim()
|
||||
if (!lib) return undefined
|
||||
if ((currentNotes || '').trim()) return undefined
|
||||
return lib
|
||||
}
|
||||
Reference in new issue
Block a user