// @ts-ignore import uidlSampleJSON from '../../../../examples/test-samples/component-sample.json' // @ts-ignore import invalidUidlSampleJSON from '../../../../examples/test-samples/component-invalid-sample.json' import { createVueComponentGenerator } from '../../src' import { ComponentUIDL, GeneratedFile, UIDLPropDefinition, UIDLEventDefinitions, UIDLStateDefinition, } from '@teleporthq/teleport-types' import { component, elementNode, dynamicNode, staticNode } from '@teleporthq/teleport-uidl-builders' const uidlSample = uidlSampleJSON as ComponentUIDL const invalidUidlSample = invalidUidlSampleJSON as ComponentUIDL const JS_FILE = 'js' const VUE_FILE = 'vue' const findFileByType = (files: GeneratedFile[], type: string = JS_FILE) => files.find((file) => file.fileType === type) describe('Vue Component Generator', () => { describe('with standard plugins', () => { const generator = createVueComponentGenerator() it('should return the files containing the code as string', async () => { const result = await generator.generateComponent(uidlSample) const vueFile = findFileByType(result.files, VUE_FILE) expect(vueFile).toBeDefined() expect(vueFile.content).toContain('