fix(admin): unify settings save controls
This commit is contained in:
1 parent
7fe26d3fff
commit
f3dd1ec3b1
8 files changed
+113
-68
No files matched your search
@@ -0,0 +1,31 @@
|
||||
const test = require('node:test')
|
||||
const assert = require('node:assert/strict')
|
||||
const fs = require('node:fs')
|
||||
const path = require('node:path')
|
||||
|
||||
const root = path.resolve(__dirname, '../..')
|
||||
const read = file => fs.readFileSync(path.join(root, file), 'utf8')
|
||||
|
||||
const pages = [
|
||||
'assets/admin/src/pages/users/UsersWechatTemplate.vue',
|
||||
'assets/admin/src/pages/users/UsersLevel.vue',
|
||||
'assets/admin/src/pages/users/UsersVerify.vue',
|
||||
'assets/admin/src/pages/CmsCredits.vue',
|
||||
'assets/admin/src/pages/permissions/PermissionsCapabilities.vue',
|
||||
'assets/admin/src/pages/content/FooterTabbarSettings.vue',
|
||||
]
|
||||
|
||||
test('custom settings pages use the shared dirty save bar without page-level save buttons', () => {
|
||||
for (const page of pages) {
|
||||
const source = read(page)
|
||||
assert.equal((source.match(/<JioSaveBar\b/g) || []).length, 1, page)
|
||||
assert.match(source, /<JioSaveBar\b[^>]*:dirty="dirty"[^>]*@save="[^"]+"[^>]*@reload="[^"]+"/, page)
|
||||
assert.doesNotMatch(source, /class="jio-form-(?:actions|footer)"/, page)
|
||||
assert.doesNotMatch(source, /@click="(?:handleSave|save|saveCfg)"/, page)
|
||||
}
|
||||
})
|
||||
|
||||
test('footer tabbar single-post mode is persisted by the save endpoint', () => {
|
||||
const controller = read('src/Admin/GlobalController.php')
|
||||
assert.match(controller, /'footer_tabbar_single'\s*=>\s*in_array\(\$params\['footer_tabbar_single'\]/)
|
||||
})
|
||||
Reference in new issue
Block a user