2020-01-23 16:59:50 +01:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const policyUtils = require('../policy');
|
|
|
|
|
|
|
|
describe('Policy util', () => {
|
|
|
|
describe('Get policy', () => {
|
|
|
|
test('Throws on policy not found', () => {
|
|
|
|
expect(() => policyUtils.get('undefined')).toThrow();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Retrieves global policy', () => {
|
|
|
|
const policyFn = () => {};
|
|
|
|
|
|
|
|
// init global strapi
|
|
|
|
global.strapi = {
|
|
|
|
config: {
|
|
|
|
policies: {
|
|
|
|
'test-policy': policyFn,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
2020-02-10 22:48:13 +01:00
|
|
|
expect(policyUtils.get('global::test-policy')).toBe(policyFn);
|
2020-01-23 16:59:50 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
test('Retrieves a global plugin policy', () => {
|
|
|
|
const policyFn = () => {};
|
|
|
|
|
|
|
|
global.strapi = {
|
|
|
|
plugins: {
|
|
|
|
'test-plugin': {
|
|
|
|
config: {
|
|
|
|
policies: {
|
|
|
|
'test-policy': policyFn,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
expect(() => policyUtils.get('test-plugin.test-policy')).toThrow();
|
2020-03-02 15:18:08 +01:00
|
|
|
expect(policyUtils.get('plugins::test-plugin.test-policy')).toBe(policyFn);
|
2020-01-23 16:59:50 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
test('Retrieves a plugin policy locally', () => {
|
|
|
|
const policyFn = () => {};
|
|
|
|
|
|
|
|
global.strapi = {
|
|
|
|
plugins: {
|
|
|
|
'test-plugin': {
|
|
|
|
config: {
|
|
|
|
policies: {
|
|
|
|
'test-policy': policyFn,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
expect(policyUtils.get('test-policy', 'test-plugin')).toBe(policyFn);
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Retrieves an api policy locally', () => {
|
|
|
|
const policyFn = () => {};
|
|
|
|
|
|
|
|
global.strapi = {
|
|
|
|
api: {
|
|
|
|
'test-api': {
|
|
|
|
config: {
|
|
|
|
policies: {
|
|
|
|
'test-policy': policyFn,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
2020-03-02 15:18:08 +01:00
|
|
|
expect(policyUtils.get('test-policy', undefined, 'test-api')).toBe(policyFn);
|
2020-01-23 16:59:50 +01:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|