82 lines
2.2 KiB
JavaScript
Raw Normal View History

2023-04-21 16:53:49 +02:00
'use strict';
const override = require('../override');
2023-04-21 17:20:01 +02:00
const strapiMock = {
2023-04-21 16:53:49 +02:00
config: {
get: () => ({
'x-strapi-config': {
plugins: null,
},
}),
},
};
2023-04-21 17:20:01 +02:00
let strapi = strapiMock;
2023-04-21 16:53:49 +02:00
describe('Documentation plugin | Override service', () => {
2023-04-21 17:20:01 +02:00
afterEach(() => {
// Reset strapi after each test
strapi = strapiMock;
});
2023-04-21 16:53:49 +02:00
it('should register an override', () => {
const mockOverride = {
openapi: '3.0.0',
info: {
title: 'My API',
version: '1.0.0',
},
};
const overrideService = override({ strapi });
overrideService.registerOverride(mockOverride);
expect(overrideService.registeredOverrides).toEqual([mockOverride]);
});
it('should not register an override from a plugin that is not in the config', () => {
const mockOverride = {
openapi: '3.0.0',
info: {
title: 'My API',
version: '1.0.0',
},
};
const overrideService = override({ strapi });
overrideService.registerOverride(mockOverride, { pluginOrigin: 'test' });
expect(overrideService.registeredOverrides).toEqual([]);
});
it('should register an override from a plugin that is in the config and exclude it from generation', () => {
const mockOverride = {
openapi: '3.0.0',
info: {
title: 'My API',
version: '1.0.0',
},
};
strapi.config.get = () => ({
'x-strapi-config': {
plugins: ['test'],
},
});
const overrideService = override({ strapi });
overrideService.registerOverride(mockOverride, {
pluginOrigin: 'test',
excludeFromGeneration: ['test', 'some-other-api-to-exclude'],
});
expect(overrideService.registeredOverrides).toEqual([mockOverride]);
expect(overrideService.excludedFromGeneration).toEqual(['test', 'some-other-api-to-exclude']);
});
it('should register an api or plugin to exclude from generation', () => {
const overrideService = override({ strapi });
overrideService.excludeFromGeneration('my-api');
overrideService.excludeFromGeneration(['my-other-api', 'my-plugin', 'my-other-plugin']);
expect(overrideService.excludedFromGeneration).toEqual([
'my-api',
'my-other-api',
'my-plugin',
'my-other-plugin',
]);
});
});