import { JsonFormsUISchemaRegistryEntry } from '@jsonforms/core' ; import { shallowMount } from '@vue/test-utils' ; import { JsonForms } from '../../src' ; import { Generate } from '@jsonforms/core' ; import { bindings } from '../testHelper' ; describe ( 'JsonForms.vue' , ( ) => { it ( 'uses undefined as schema prop when not given' , ( ) => { const data = { number : 5 } ; const renderers = [ ] ; const wrapper = shallowMount ( JsonForms , bindings ( { props : { data , renderers } } ) ) ; expect ( wrapper . props ( 'schema' ) ) . toBe ( undefined ) ; } ) ; it ( 'generates schema when not given via prop' , ( ) => { const data = { number : 5.5 } ; const renderers = [ ] ; const wrapper = shallowMount ( JsonForms , bindings ( { props : { data , renderers } } ) ) ; expect ( ( wrapper . vm as any ) . jsonforms . core . schema ) . toEqual ( Generate . jsonSchema ( data ) ) ; } ) ; it ( 'generates ui schema when not given via prop' , ( ) => { const data = { number : 5.5 } ; const schema = { type : 'object' , properties : { number : { type : 'number' } } } ; const renderers = [ ] ; const wrapper = shallowMount ( JsonForms , bindings ( { props : { data , schema , renderers } } ) ) ; expect ( ( wrapper . vm as any ) . jsonforms . core . uischema ) . toEqual ( Generate . uiSchema ( schema ) ) ; } ) ; } ) ;