Example #1
0
 it('retrieves a nested list of user roles, properly decorated', function() {
     // Permissions.roles('DEC1:', {roles: [], permissions: ['PERM1', 'PERM2:']);
     // Permissions.roles('DEC2', {roles: ['DEC1:'], permissions: []});
     // Permissions.roles('DEC3', {roles: ['DEC1', 'DEC2'], permissions: []});
     var user1 = { roles: ['DEC1:OK']};
     var user2 = { roles: ['DEC2:OK']};
     var user3 = { roles: ['DEC3:OK']};
     var roles1 = Permissions.getUserRoles(user1);
     var roles2 = Permissions.getUserRoles(user2);
     var roles3 = Permissions.getUserRoles(user3);
     assert.sameSet(['DEC1:OK'], roles1);
     assert.sameSet(['DEC2:OK', 'DEC1:OK'], roles2);
     assert.sameSet(['DEC3:OK', 'DEC2'], roles3);
 });
Example #2
0
 it('ignores undecorated roles when decoration is required', function() {
     // Permissions.roles('DEC1:', {roles: [], permissions: ['PERM1', 'PERM2:']);
     // Permissions.roles('DEC2', {roles: ['DEC1:'], permissions: []});
     // Permissions.roles('DEC3', {roles: ['DEC1', 'DEC2'], permissions: []});
     var user1 = { roles: ['DEC1']};
     var user2 = { roles: ['DEC2']};
     var user3 = { roles: ['DEC3']};
     var roles1 = Permissions.getUserRoles(user1);
     var roles2 = Permissions.getUserRoles(user2);
     var roles3 = Permissions.getUserRoles(user3);
     assert.equal(roles1.length, 0);
     assert.sameSet(['DEC2'], roles2);
     assert.sameSet(['DEC3', 'DEC2'], roles3);
 })
Example #3
0
 it('retrieves a list of nested user roles', function() {
     // Permissions.roles('NEST1', {roles: ['NEST2'], permissions: ['PERM2']);
     // Permissions.roles('NEST2', {roles: [], permissions: ['PERM2']);
     var user = { roles: ['NEST1'] };
     var roles = Permissions.getUserRoles(user);
     assert.sameSet(['NEST1', 'NEST2'], roles);
 });
Example #4
0
 it('cascades decorations through nested roles to permissions', function() {
     // Permissions.roles('DEC1:', {roles: [], permissions: ['PERM1', 'PERM2:']);
     // Permissions.roles('DEC4:', {roles: ['DEC1:SNAIL', 'DEC1:'], permissions: [])
     var user = {roles: ['DEC4:OK']};
     var permissions = Permissions.getUserPermissions(user);
     assert.sameSet(['PERM1', 'PERM2:SNAIL', 'PERM2:OK'], permissions);
 });
Example #5
0
 _ary1.reduce(function(p, c, i, a) {
     if (c instanceof Array) {
         assert.sameSet(c, _ary2[i]);
     } else {
         assert.deepEqual(c, _ary2[i], message);
     }
     return null
 }, null);
Example #6
0
 it('retrieves a simple list of user roles', function() {
     // Permissions.roles('ROLE1', {roles: [], permissions: ['PERM1']);
     // Permissions.roles('ROLE2', {roles: [], permissions: ['PERM2']);
     var user = {
         roles: ['ROLE1', 'ROLE2']
     };
     var roles = Permissions.getUserRoles(user);
     assert.sameSet(['ROLE1', 'ROLE2'], roles);
 });
Example #7
0
 it('decorates permissions requiring decoration while leaving others undecorated', function() {
     // Permissions.roles('DEC1:', {roles: [], permissions: ['PERM1', 'PERM2:']);
     var user = {roles: ['DEC1:OK'], permissions: []};
     var permissions = Permissions.getUserPermissions(user);
     assert.sameSet(['PERM1', 'PERM2:OK'], permissions)
 });
Example #8
0
 it('retrieves a simple list of user permissions', function() {
     // Permissions.roles('ROLE1', {roles: [], permissions: ['PERM1']);
     var user = { roles: ['ROLE1'], permissions: ['CUSTOM1']};
     var permissions = Permissions.getUserPermissions(user);
     assert.sameSet(['PERM1', 'CUSTOM1'], permissions);
 });