20260923230500
This commit is contained in:
1 parent
e6935b8fa4
commit
0405cd198a
36 files changed
+3668
-911
No files matched your search
@@ -16,7 +16,7 @@ const {
|
||||
currentUserId,
|
||||
loadFieldPower,
|
||||
loadModulePref,
|
||||
mergeDefaultViewCode,
|
||||
mergeDefaultViewCodes,
|
||||
removeModulePref,
|
||||
saveModulePref,
|
||||
viewCodeDelta,
|
||||
@@ -35,22 +35,46 @@ describe('用户模块偏好', () => {
|
||||
})
|
||||
|
||||
it('个人默认页签:与系统默认一致时不产生覆盖', () => {
|
||||
expect(viewCodeDelta('all', 'all')).toBeNull()
|
||||
expect(viewCodeDelta('', 'all')).toBeNull()
|
||||
expect(viewCodeDelta('pending', 'all')).toEqual({
|
||||
schemaVersion: 1,
|
||||
defaultViewCode: 'pending',
|
||||
expect(viewCodeDelta({}, {})).toBeNull()
|
||||
expect(viewCodeDelta({ 状态: '' }, { 状态: 'all' })).toBeNull()
|
||||
expect(viewCodeDelta({ 状态: 'all' }, { 状态: 'all' })).toBeNull()
|
||||
expect(viewCodeDelta({ 状态: 'pending' }, { 状态: 'all' })).toEqual({
|
||||
schemaVersion: 2,
|
||||
defaultViewCodes: { 状态: 'pending' },
|
||||
})
|
||||
})
|
||||
|
||||
it('个人默认页签必须仍是当前可用页签,否则回落系统默认', () => {
|
||||
expect(mergeDefaultViewCode('all', { defaultViewCode: 'pending' }, ['all', 'pending'])).toBe(
|
||||
'pending',
|
||||
)
|
||||
expect(mergeDefaultViewCode('all', { defaultViewCode: 'deleted' }, ['all', 'pending'])).toBe(
|
||||
'all',
|
||||
)
|
||||
expect(mergeDefaultViewCode('all', null, ['all'])).toBe('all')
|
||||
it('个人默认页签只记与系统默认不同的分组', () => {
|
||||
expect(viewCodeDelta({ 状态: 'pending', 审核状态: 'audited' }, { 状态: 'all' })).toEqual({
|
||||
schemaVersion: 2,
|
||||
defaultViewCodes: { 状态: 'pending', 审核状态: 'audited' },
|
||||
})
|
||||
// 该分组系统没有默认:个人选了即产生覆盖
|
||||
expect(viewCodeDelta({ 状态: 'all' }, {})).toEqual({
|
||||
schemaVersion: 2,
|
||||
defaultViewCodes: { 状态: 'all' },
|
||||
})
|
||||
})
|
||||
|
||||
it('个人默认页签必须仍是本组可用页签,否则回落系统默认', () => {
|
||||
const allowed = { 状态: new Set(['all', 'pending']) }
|
||||
expect(
|
||||
mergeDefaultViewCodes({ 状态: 'all' }, { defaultViewCodes: { 状态: 'pending' } }, allowed),
|
||||
).toEqual({ 状态: 'pending' })
|
||||
expect(
|
||||
mergeDefaultViewCodes({ 状态: 'all' }, { defaultViewCodes: { 状态: 'deleted' } }, allowed),
|
||||
).toEqual({ 状态: 'all' })
|
||||
expect(mergeDefaultViewCodes({ 状态: 'all' }, null, allowed)).toEqual({ 状态: 'all' })
|
||||
})
|
||||
|
||||
it('兼容 v1 个人层:单一 defaultViewCode 视作默认组的覆盖', () => {
|
||||
const allowed = { '': new Set(['all', 'pending']) }
|
||||
expect(mergeDefaultViewCodes({ '': 'all' }, { defaultViewCode: 'pending' }, allowed)).toEqual({
|
||||
'': 'pending',
|
||||
})
|
||||
expect(mergeDefaultViewCodes({ '': 'all' }, { defaultViewCode: 'deleted' }, allowed)).toEqual({
|
||||
'': 'all',
|
||||
})
|
||||
})
|
||||
|
||||
it('读取个人偏好时按用户/模块/schema 类型过滤,解析失败返回 null', async () => {
|
||||
|
||||
Reference in new issue
Block a user