test: update RBAC and table layout expectations

This commit is contained in:
lzstealth committed 2026-10-23 01:56:59 +01:00
1 parent 9c28eca3ef
commit 3ce4f70601
3 files changed
+14 -72

No files matched your search

+1 -7
View File
@@ -8,11 +8,9 @@ const rbacRoutesSource = fs.readFileSync(require.resolve('../src/web/routes/admi
const { buildPermissionSections, buildRbacEditViewModel } = require('../src/web/routes/settings/rbac/form-view-model');
const rbacFormViewModel = fs.readFileSync(require.resolve('../src/web/routes/settings/rbac/form-view-model.js'), 'utf8');
const rbacSource = fs.readFileSync(require.resolve('../src/rbac.js'), 'utf8');
test('rbac form exposes bulk permission controls', () => {
assert.match(rbacFormTemplate, /name="permissions_present" value="1"/);
assert.match(rbacFormTemplate, /name="user_ids_present\[\]" value="\{\{id\}\}"/);
assert.match(rbacFormTemplate, /accordion accordion-flush/);
assert.match(rbacFormTemplate, /rbac-permissions-table-head/);
assert.ok(!rbacFormTemplate.includes('table-light'));
assert.match(rbacFormTemplate, /<h3 class="card-title">Permissions<\/h3>[\s\S]*<div class="card-body p-0">[\s\S]*accordion accordion-flush/);
@@ -36,20 +34,17 @@ test('rbac form exposes bulk permission controls', () => {
assert.ok(!rbacFormTemplate.includes('permission categories'));
assert.ok(!rbacFormTemplate.includes('btn-link'));
assert.ok(!rbacFormTemplate.includes('rounded-bottom-3 overflow-hidden'));
assert.ok(!rbacFormTemplate.includes('table-responsive rounded-bottom-3 overflow-hidden'));
assert.ok(rbacFormViewModel.includes("label: 'Read'"));
assert.ok(rbacFormViewModel.includes("label: 'Create'"));
assert.ok(rbacFormViewModel.includes("label: 'Update'"));
assert.ok(rbacFormViewModel.includes("label: 'Delete'"));
assert.ok(rbacFormViewModel.includes("label: 'Allow'"));
assert.ok(rbacFormViewModel.includes('left.resourceOrder'));
assert.ok(rbacRoutesSource.includes('resourceOrder: Number(permission.resourceOrder) || 999'));
assert.ok(rbacFormViewModel.includes('section.actions = actionDefinitions.map'));
assert.ok(rbacFormViewModel.includes('data-async-save-new-url="/settings/roles/new"'));
assert.ok(rbacFormViewModel.includes('data-async-save-close-url="/settings/roles" data-async-save-new-url="/settings/roles/new"'));
assert.ok(rbacFormViewModel.includes('cancelConfirmMessage: "You\'ve made changes. Are you sure you want to leave this page?"'));
assert.match(rbacFormTemplate, /cancelConfirmMessage=cancelConfirmMessage/);
assert.ok(rbacSource.includes("sectionName: 'Main navigation'"));
assert.ok(rbacSource.includes("sectionName: 'Main Navigation'"));
assert.ok(rbacSource.includes("permissions: ["));
assert.ok(rbacSource.includes("resourceOrder: resource.order"));
});
@@ -58,7 +53,6 @@ test('rbac permissions script supports bulk permission selection', () => {
assert.ok(rbacPermissionsScript.includes('function setRowCheckboxes(row, checked)'));
assert.ok(rbacPermissionsScript.includes('function toggleRowCheckboxes(row)'));
assert.ok(rbacPermissionsScript.includes('data-permission-row-toggle'));
assert.ok(rbacPermissionsScript.includes("toggleRowCheckboxes(findPermissionRow(targetId));"));
assert.match(rbacPermissionsScript, /toggleRowCheckboxes\(findPermissionRow\(targetId\)\);\s*markPermissionFormDirty\(control\);/);
assert.ok(!rbacPermissionsScript.includes('data-permission-select-none'));
assert.ok(!rbacPermissionsScript.includes('data-permission-section-select-none'));