1- import useFormHandler , { initialState } from '../src/ useFormHandler' ;
1+ import useFormHandler , { initialState } from '../useFormHandler' ;
22import { expect , it , describe } from "vitest"
33
44const sleep = ( ) => new Promise ( ( resolve ) => setTimeout ( ( ) => resolve ( true ) , 50 ) )
@@ -108,77 +108,4 @@ describe('Form handler testing', () => {
108108 await setValue ( 'field2' , 'another thing' )
109109 expect ( modifiedValues ( ) ) . toStrictEqual ( { field2 : 'another thing' } )
110110 } )
111- } )
112-
113- describe ( 'Register function testing' , ( ) => {
114- it ( 'Registering a field' , ( ) => {
115- const { values, register } = useFormHandler ( ) ;
116- const field = register ( 'field' )
117- expect ( field . name ) . toBe ( 'field' )
118- expect ( field . errors ) . toStrictEqual ( [ ] )
119- expect ( field . onBlur ) . toBeDefined ( )
120- expect ( field . isDirty ) . toBeUndefined ( )
121- expect ( field . isTouched ) . toBeUndefined ( )
122- expect ( field . onClear ) . toBeDefined ( )
123- expect ( field . onChange ) . toBeDefined ( )
124- expect ( field . modelValue ) . toBe ( null )
125- expect ( field [ 'onUpdate:modelValue' ] ) . toBeDefined ( )
126- expect ( values . field ) . toBe ( null )
127- } )
128- it ( 'Specified native field should have native handlers' , ( ) => {
129- const { register } = useFormHandler ( ) ;
130- const field = register ( 'field' , { native : true } )
131- expect ( field . ref ) . toBeDefined ( )
132- expect ( field . onChange ) . toBeDefined ( )
133- } )
134- it ( 'Specified custom field shouldn\'t have native handlers' , ( ) => {
135- const { register } = useFormHandler ( ) ;
136- const field = register ( 'field' , { native : false } )
137- expect ( field . onChange ) . toBeUndefined ( )
138- expect ( field . modelValue ) . toBeDefined ( )
139- expect ( field [ 'onUpdate:modelValue' ] ) . toBeDefined ( )
140- } )
141- it ( 'Input registered with details receives dirty and touched states' , ( ) => {
142- const { register } = useFormHandler ( ) ;
143- const field = register ( 'field' , { withDetails : true } )
144- expect ( field . isDirty ) . toBeDefined ( )
145- expect ( field . isTouched ) . toBeDefined ( )
146- } )
147- it ( 'Clearable inputs should have a bound clear handler' , ( ) => {
148- const { register } = useFormHandler ( ) ;
149- const field = register ( 'field' , { clearable : true } )
150- expect ( field . onClear ) . toBeDefined ( )
151- } )
152- it ( 'Registering a field with default value' , ( ) => {
153- const { values, register } = useFormHandler ( ) ;
154- register ( 'field' , { defaultValue : 'something' } )
155- expect ( values . field ) . toBe ( 'something' )
156- } )
157- it ( 'Registered validations work on update via handler' , async ( ) => {
158- const { values, register, formState } = useFormHandler ( ) ;
159- const field = register ( 'field' , {
160- validations : {
161- error : ( val ) => val !== 'error' || 'Error with your field'
162- }
163- } )
164- if ( field [ 'onUpdate:modelValue' ] ) {
165- field [ 'onUpdate:modelValue' ] ( 'error' )
166- await sleep ( )
167- expect ( values . field ) . toBe ( 'error' )
168- expect ( formState . isValid ) . toBeFalsy ( )
169- }
170- } )
171- it ( 'Registered validations work on update via setter' , async ( ) => {
172- const { values, register, formState, setValue, triggerValidation } = useFormHandler ( ) ;
173- register ( 'field' , {
174- validations : {
175- error : ( val ) => val !== 'error' || 'Error with your field'
176- }
177- } )
178- await setValue ( 'field' , 'error' )
179- await triggerValidation ( 'field' )
180- expect ( values . field ) . toBe ( 'error' )
181- await sleep ( )
182- expect ( formState . isValid ) . toBeFalsy ( )
183- } )
184111} )
0 commit comments