align(品牌数据库): 非超管分组强制锁定(筛选/新增/编辑下拉禁用并锁本人分组、重置保持锁定),超管全量放开(对齐 admin.js getInvalidAsinDataLockedGroupId/refreshShopGroupSelects)
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import test from 'node:test'
|
||||
import assert from 'node:assert/strict'
|
||||
import { readSource } from './helpers.ts'
|
||||
import { invalidAsinLockedGroupId } from '../src/pages/invalidasin/invalid-asin-model.ts'
|
||||
|
||||
/** 对齐 admin.js:4200-4204,4246-4272:非超管品牌数据库分组强制锁定到本人分组。 */
|
||||
|
||||
const GROUPS = [{ id: 3, groupName: 'A组' }, { id: 5, groupName: 'B组' }]
|
||||
|
||||
test('align_invalid_asin_lock_super_admin_never_locked', () => {
|
||||
assert.equal(invalidAsinLockedGroupId(GROUPS, 3, 'super_admin'), null)
|
||||
})
|
||||
|
||||
test('align_invalid_asin_lock_uses_locked_group_id_when_present', () => {
|
||||
assert.equal(invalidAsinLockedGroupId(GROUPS, 5, 'admin'), 5)
|
||||
})
|
||||
|
||||
test('align_invalid_asin_lock_falls_back_to_first_group', () => {
|
||||
assert.equal(invalidAsinLockedGroupId(GROUPS, null, 'admin'), 3)
|
||||
assert.equal(invalidAsinLockedGroupId(GROUPS, 99, 'admin'), 3)
|
||||
})
|
||||
|
||||
test('align_invalid_asin_lock_empty_groups_returns_null', () => {
|
||||
assert.equal(invalidAsinLockedGroupId([], null, 'admin'), null)
|
||||
})
|
||||
|
||||
test('align_invalid_asin_lock_normal_role_also_locked', () => {
|
||||
assert.equal(invalidAsinLockedGroupId(GROUPS, null, 'normal'), 3)
|
||||
})
|
||||
|
||||
test('align_invalid_asin_page_lock_wiring', () => {
|
||||
// UI 接线:筛选/新增/编辑分组下拉非超管禁用并锁定;筛选默认锁组;重置保持锁定。
|
||||
const page = readSource('src/pages/asin/AsinInvalidPage.vue')
|
||||
assert.match(page, /invalidAsinLockedGroupId/, '锁定分组走纯模型')
|
||||
assert.match(page, /isSuperAdmin|session\.isSuperAdmin/, '按当前角色判定是否锁定')
|
||||
assert.match(page, /:disabled/, '分组下拉支持禁用')
|
||||
assert.match(page, /lockedGroupId/, '锁定组参与筛选/新增预置')
|
||||
})
|
||||
Reference in New Issue
Block a user