UNPKG

@mcdevsl/superset-ui

Version:
68 lines (58 loc) 1.59 kB
import { Plugin, Preset } from '@superset-ui/core/src'; describe('Preset', () => { it('exists', () => { expect(Preset).toBeDefined(); }); describe('new Preset()', () => { it('creates new preset', () => { const preset = new Preset(); expect(preset).toBeInstanceOf(Preset); }); }); describe('.register()', () => { it('register all listed presets then plugins', () => { const values: number[] = []; class Plugin1 extends Plugin { register() { values.push(1); return this; } } class Plugin2 extends Plugin { register() { values.push(2); return this; } } class Plugin3 extends Plugin { register() { values.push(3); return this; } } class Plugin4 extends Plugin { register() { const { key } = this.config; values.push(key as number); return this; } } const preset1 = new Preset({ plugins: [new Plugin1()], }); const preset2 = new Preset({ plugins: [new Plugin2()], }); const preset3 = new Preset({ presets: [preset1, preset2], plugins: [new Plugin3(), new Plugin4().configure({ key: 9 })], }); preset3.register(); expect(values).toEqual([1, 2, 3, 9]); }); it('returns itself', () => { const preset = new Preset(); expect(preset.register()).toBe(preset); }); }); });