(config, done)
| 7 | const Config = require('../lib/Config'); |
| 8 | |
| 9 | function testLoadRoles(config, done) { |
| 10 | const rolesNames = ['FooRole', 'BarRole', 'BazRole']; |
| 11 | const roleIds = {}; |
| 12 | createTestUser() |
| 13 | .then(user => { |
| 14 | // Put the user on the 1st role |
| 15 | return createRole(rolesNames[0], null, user) |
| 16 | .then(aRole => { |
| 17 | roleIds[aRole.get('name')] = aRole.id; |
| 18 | // set the 1st role as a sibling of the second |
| 19 | // user will should have 2 role now |
| 20 | return createRole(rolesNames[1], aRole, null); |
| 21 | }) |
| 22 | .then(anotherRole => { |
| 23 | roleIds[anotherRole.get('name')] = anotherRole.id; |
| 24 | // set this role as a sibling of the last |
| 25 | // the user should now have 3 roles |
| 26 | return createRole(rolesNames[2], anotherRole, null); |
| 27 | }) |
| 28 | .then(lastRole => { |
| 29 | roleIds[lastRole.get('name')] = lastRole.id; |
| 30 | const auth = new Auth({ config, isMaster: true, user: user }); |
| 31 | return auth._loadRoles(); |
| 32 | }); |
| 33 | }) |
| 34 | .then( |
| 35 | roles => { |
| 36 | expect(roles.length).toEqual(3); |
| 37 | rolesNames.forEach(name => { |
| 38 | expect(roles.indexOf('role:' + name)).not.toBe(-1); |
| 39 | }); |
| 40 | done(); |
| 41 | }, |
| 42 | function () { |
| 43 | fail('should succeed'); |
| 44 | done(); |
| 45 | } |
| 46 | ); |
| 47 | } |
| 48 | |
| 49 | const createRole = function (name, sibling, user) { |
| 50 | const role = new Parse.Role(name, new Parse.ACL()); |
no test coverage detected