Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
209 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
// During the test the env variable is set to test | ||
process.env.NODE_ENV = 'test'; | ||
|
||
// Require the dev-dependencies | ||
const chai = require('chai'); | ||
const { Access } = require('../../../index'); | ||
|
||
const { assert } = chai; | ||
|
||
|
||
// Our parent block | ||
describe('MODELS: ACCESS.accessiblesIds', () => { // eslint-disable-line | ||
|
||
it('access is undef', (done) => { // eslint-disable-line | ||
const result = Access.accessiblesIds(null, 'places'); | ||
assert.deepEqual(result, []); | ||
done(); | ||
}); | ||
|
||
it('to is undef', (done) => { // eslint-disable-line | ||
const result = Access.accessiblesIds([]); | ||
assert.deepEqual(result, []); | ||
done(); | ||
}); | ||
|
||
it('to does not have restricted_roles', (done) => { // eslint-disable-line | ||
const result = Access.accessiblesIds([], 'other'); | ||
assert.deepEqual(result, []); | ||
done(); | ||
}); | ||
|
||
it('Happy path', (done) => { // eslint-disable-line | ||
const access = [{ role: 'other', filter: 66 }, { role: 'venueOwner', filter: 1 }, { role: 'venueOwner', filter: 2 }]; | ||
const result = Access.accessiblesIds(access, 'places'); | ||
assert.deepEqual(result, [1, 2]); | ||
done(); | ||
}); | ||
|
||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
// During the test the env variable is set to test | ||
process.env.NODE_ENV = 'test'; | ||
|
||
// Require the dev-dependencies | ||
const chai = require('chai'); | ||
const { Access } = require('../../../index'); | ||
|
||
const { assert } = chai; | ||
|
||
|
||
// Our parent block | ||
describe('MODELS: ACCESS hasAccessTo', () => { // eslint-disable-line | ||
|
||
it('user is undef', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessTo(null, 'places', 1); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
it('user.access is undef', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessTo({}, 'places', 1); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
it('to is undef', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessTo({ access: [] }); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
it('user has access to all', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessTo({ access: [{ role: 'admin' }] }, 'places', 66); | ||
assert.isTrue(bool); | ||
done(); | ||
}); | ||
|
||
it('user has restricted access: both ints', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessTo({ access: [{ role: 'venueOwner', filter: 66 }] }, 'places', 66); | ||
assert.isTrue(bool); | ||
done(); | ||
}); | ||
|
||
it('user has restricted access: one as int the other as string', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessTo({ access: [{ role: 'venueOwner', filter: '66' }] }, 'places', 66); | ||
assert.isTrue(bool); | ||
done(); | ||
}); | ||
|
||
it('user does have restricted access but with different filter', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessTo({ access: [{ role: 'venueOwner', filter: 67 }] }, 'places', 66); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
it('user does not have restricted access', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessTo({ access: [{ role: 'other', filter: 66 }] }, 'places', 66); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
// During the test the env variable is set to test | ||
process.env.NODE_ENV = 'test'; | ||
|
||
// Require the dev-dependencies | ||
const chai = require('chai'); | ||
const { Access } = require('../../../index'); | ||
|
||
const { assert } = chai; | ||
|
||
|
||
// Our parent block | ||
describe('MODELS: ACCESS hasAccessToAll', () => { // eslint-disable-line | ||
|
||
it('user is undef', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessToAll(); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
it('user.access is undef', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessToAll({}); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
it('user is admin', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessToAll({ is_admin: true }); | ||
assert.isTrue(bool); | ||
done(); | ||
}); | ||
|
||
it('user has access to all', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessToAll({ access: [{ role: 'placesAdmin' }] }, 'places'); | ||
assert.isTrue(bool); | ||
done(); | ||
}); | ||
|
||
it('user does not have access to all', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessToAll({ access: [{ role: 'other' }] }, 'places'); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
it('to does not have UNRESTRICTED_ROLES', (done) => { // eslint-disable-line | ||
const bool = Access.hasAccessToAll({ access: [{ role: 'other' }] }, 'other'); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
// During the test the env variable is set to test | ||
process.env.NODE_ENV = 'test'; | ||
|
||
// Require the dev-dependencies | ||
const chai = require('chai'); | ||
const { Access } = require('../../../index'); | ||
|
||
const { assert } = chai; | ||
|
||
|
||
// Our parent block | ||
describe('MODELS: ACCESS isAdmin', () => { // eslint-disable-line | ||
|
||
it('user is undef', (done) => { // eslint-disable-line | ||
const bool = Access.isAdmin(); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
it('user.is_admin = true', (done) => { // eslint-disable-line | ||
const bool = Access.isAdmin({ is_admin: true }); | ||
assert.isTrue(bool); | ||
done(); | ||
}); | ||
|
||
it('user does not have access', (done) => { // eslint-disable-line | ||
const bool = Access.isAdmin({}); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
it('user has admin role', (done) => { // eslint-disable-line | ||
const bool = Access.isAdmin({ access: [{ role: 'admin' }] }); | ||
assert.isTrue(bool); | ||
done(); | ||
}); | ||
|
||
it('user does not have admin role', (done) => { // eslint-disable-line | ||
const bool = Access.isAdmin({ access: [{ role: 'other' }] }); | ||
assert.isFalse(bool); | ||
done(); | ||
}); | ||
|
||
}); |