23 lines
892 B
JavaScript
23 lines
892 B
JavaScript
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
const fs = require('node:fs');
|
|
|
|
require('../src/common');
|
|
|
|
const formTemplate = fs.readFileSync(require.resolve('../src/web/views/settings/rbac/form.hbs'), 'utf8');
|
|
const { buildPermissionSections } = require('../src/web/routes/settings/rbac/form-view-model');
|
|
|
|
test('permission checkboxes expose their descriptions as hover titles', () => {
|
|
const sections = buildPermissionSections([{
|
|
categoryName: 'Settings',
|
|
title: 'Impersonate',
|
|
permissions: [{
|
|
permission_key: 'impersonate.allow',
|
|
actionKey: 'allow',
|
|
description: 'Preview a user account in read-only mode.'
|
|
}]
|
|
}]);
|
|
|
|
assert.match(formTemplate, /name="permission_keys\[\]"[^>]*title="\{\{description\}\}"/);
|
|
assert.equal(sections[0].groups[0].cells[4].description, 'Preview a user account in read-only mode.');
|
|
}); |