Make hasScopes take an array

This commit is contained in:
Girish Ramakrishnan
2018-06-17 19:54:05 -07:00
parent 682f7a710c
commit ad6bc191f9
6 changed files with 30 additions and 32 deletions

View File

@@ -63,23 +63,23 @@ describe('access control', function () {
describe('hasScopes', function () {
it('succeeds if it contains the scope', function () {
expect(accesscontrol.hasScopes('apps', [ 'apps' ])).to.be(null);
expect(accesscontrol.hasScopes('apps,mail', [ 'mail' ])).to.be(null);
expect(accesscontrol.hasScopes('clients,*,apps,mail', [ 'mail' ])).to.be(null);
expect(accesscontrol.hasScopes([ 'apps' ], [ 'apps' ])).to.be(null);
expect(accesscontrol.hasScopes([ 'apps', 'mail' ], [ 'mail' ])).to.be(null);
expect(accesscontrol.hasScopes([ 'clients', '*', 'apps', 'mail' ], [ 'mail' ])).to.be(null);
// subscope
expect(accesscontrol.hasScopes('apps', [ 'apps:read' ])).to.be(null);
expect(accesscontrol.hasScopes('apps:read', [ 'apps:read' ])).to.be(null);
expect(accesscontrol.hasScopes('apps,mail', [ 'apps:*' ])).to.be(null);
expect(accesscontrol.hasScopes('*', [ 'apps:read' ])).to.be(null);
expect(accesscontrol.hasScopes([ 'apps' ], [ 'apps:read' ])).to.be(null);
expect(accesscontrol.hasScopes([ 'apps:read' ], [ 'apps:read' ])).to.be(null);
expect(accesscontrol.hasScopes([ 'apps' , 'mail' ], [ 'apps:*' ])).to.be(null);
expect(accesscontrol.hasScopes([ '*' ], [ 'apps:read' ])).to.be(null);
});
it('fails if it does not contain the scope', function () {
expect(accesscontrol.hasScopes('apps', [ 'mail' ])).to.be.an(Error);
expect(accesscontrol.hasScopes('apps,mail', [ 'clients' ])).to.be.an(Error);
expect(accesscontrol.hasScopes([ 'apps' ], [ 'mail' ])).to.be.an(Error);
expect(accesscontrol.hasScopes([ 'apps', 'mail' ], [ 'clients' ])).to.be.an(Error);
// subscope
expect(accesscontrol.hasScopes('apps:write', [ 'apps:read' ])).to.be.an(Error);
expect(accesscontrol.hasScopes([ 'apps:write' ], [ 'apps:read' ])).to.be.an(Error);
});
});