Files
directus/packages/shared/tests/utils/node/generate-extensions-entry.test.ts
Nicola Krumschmidt 81cd748c6d Add support for operation extensions to the Extensions SDK (#14410)
* Clean up extensions build logging

* Expose defineOperation* helpers through extensions-sdk

* Add support for scaffolding operation extensions

* Refactor extension type constants

* Improve extension-related tests in shared

* Improve wording when scaffolding extension fails due to wrong type

* Make spinner text bold when scaffolding extensions

* Add support for building operation extensions

* Fix operations tile name

* Make extension config type spacing consistent

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2022-07-25 11:36:52 -04:00

32 lines
1019 B
TypeScript

import { generateExtensionsEntry } from '../../../src/utils/node/generate-extensions-entry';
import { Extension } from '../../../src/types/extensions';
describe('generateExtensionsEntry', () => {
const type = 'panel';
it('returns an extension entrypoint exporting all extensions with a type that matches the provided type', () => {
const mockExtension: Extension[] = [
{ path: './extensions', name: 'mockExtension', type: 'panel', entrypoint: 'index.js', local: true },
];
expect(generateExtensionsEntry(type, mockExtension)).toBe(
`import e0 from './extensions/index.js';
export default [e0];`
);
});
it('returns an empty extension entrypoint if there is no extension with the provided type', () => {
const mockExtension: Extension[] = [
{
path: './extensions',
name: 'mockExtension',
type: 'pack',
version: '1.0.0',
host: '^9.0.0',
children: [],
local: false,
},
];
expect(generateExtensionsEntry(type, mockExtension)).toBe(`export default [];`);
});
});