import { describe, it } from 'mocha'; import generateApp from '../../src/utils/index-js-builder'; import expectAstEqual from '../helpers/expect-ast-equals'; describe('app template builder', (): void => { it('imports package when `studio-package` present', (): void => { const app = generateApp( { name: 'my-package', version: '1.3.4', main: 'src/index.js' }, 'src/index.js' ); expectAstEqual( app, ` import StudioFramework from '@movable/studio-framework'; import _my_package from './src/index'; export default class App extends StudioFramework { setup() { this.setGrouping('my-package', () => { _my_package(this) }); } } const app = new App(); app.render(document.getElementById('react-root')).then(() => { window.APP_SUCCESSFULLY_RENDERED = true; }); ` ); }); it('imports manifest when manifest key in `studio-package` present', (): void => { const app = generateApp( { name: 'my-package', version: '1.3.4', main: 'src/index.js', 'studio-package': { manifest: 'package-manifest.yml' } }, 'src/index.js' ); expectAstEqual( app, ` import StudioFramework from '@movable/studio-framework'; import _my_package from './src/index'; import './package-manifest.yml'; export default class App extends StudioFramework { setup() { this.setGrouping('my-package', () => { _my_package(this) }); } } const app = new App(); app.render(document.getElementById('react-root')).then(() => { window.APP_SUCCESSFULLY_RENDERED = true; }); ` ); }); });