@@ -50,15 +50,15 @@ describe('SearchBox', () => {
5050 await input . setValue ( 'test' )
5151
5252 // Model should not update immediately
53- expect ( wrapper . emitted ( 'update:modelValue ' ) ) . toBeFalsy ( )
53+ expect ( wrapper . emitted ( 'search ' ) ) . toBeFalsy ( )
5454
5555 // Advance timers by 299ms (just before debounce delay)
56- vi . advanceTimersByTime ( 299 )
56+ await vi . advanceTimersByTimeAsync ( 299 )
5757 await nextTick ( )
58- expect ( wrapper . emitted ( 'update:modelValue ' ) ) . toBeFalsy ( )
58+ expect ( wrapper . emitted ( 'search ' ) ) . toBeFalsy ( )
5959
6060 // Advance timers by 1ms more (reaching 300ms)
61- vi . advanceTimersByTime ( 1 )
61+ await vi . advanceTimersByTimeAsync ( 1 )
6262 await nextTick ( )
6363
6464 // Model should now be updated
@@ -82,19 +82,19 @@ describe('SearchBox', () => {
8282
8383 // Type third character (should reset timer again)
8484 await input . setValue ( 'tes' )
85- vi . advanceTimersByTime ( 200 )
85+ await vi . advanceTimersByTimeAsync ( 200 )
8686 await nextTick ( )
8787
8888 // Should not have emitted yet (only 200ms passed since last keystroke)
89- expect ( wrapper . emitted ( 'update:modelValue ' ) ) . toBeFalsy ( )
89+ expect ( wrapper . emitted ( 'search ' ) ) . toBeFalsy ( )
9090
9191 // Advance final 100ms to reach 300ms
92- vi . advanceTimersByTime ( 100 )
92+ await vi . advanceTimersByTimeAsync ( 100 )
9393 await nextTick ( )
9494
9595 // Should now emit with final value
96- expect ( wrapper . emitted ( 'update:modelValue ' ) ) . toBeTruthy ( )
97- expect ( wrapper . emitted ( 'update:modelValue ' ) ?. [ 0 ] ) . toEqual ( [ 'tes' ] )
96+ expect ( wrapper . emitted ( 'search ' ) ) . toBeTruthy ( )
97+ expect ( wrapper . emitted ( 'search ' ) ?. [ 0 ] ) . toEqual ( [ 'tes' , [ ] ] )
9898 } )
9999
100100 it ( 'should only emit final value after rapid typing' , async ( ) => {
@@ -105,19 +105,20 @@ describe('SearchBox', () => {
105105 const searchTerms = [ 's' , 'se' , 'sea' , 'sear' , 'searc' , 'search' ]
106106 for ( const term of searchTerms ) {
107107 await input . setValue ( term )
108- vi . advanceTimersByTime ( 50 ) // Less than debounce delay
108+ await vi . advanceTimersByTimeAsync ( 50 ) // Less than debounce delay
109109 }
110+ await nextTick ( )
110111
111112 // Should not have emitted yet
112- expect ( wrapper . emitted ( 'update:modelValue ' ) ) . toBeFalsy ( )
113+ expect ( wrapper . emitted ( 'search ' ) ) . toBeFalsy ( )
113114
114115 // Complete the debounce delay
115- vi . advanceTimersByTime ( 300 )
116+ await vi . advanceTimersByTimeAsync ( 350 )
116117 await nextTick ( )
117118
118119 // Should emit only once with final value
119- expect ( wrapper . emitted ( 'update:modelValue ' ) ) . toHaveLength ( 1 )
120- expect ( wrapper . emitted ( 'update:modelValue ' ) ?. [ 0 ] ) . toEqual ( [ 'search' ] )
120+ expect ( wrapper . emitted ( 'search ' ) ) . toHaveLength ( 1 )
121+ expect ( wrapper . emitted ( 'search ' ) ?. [ 0 ] ) . toEqual ( [ 'search' , [ ] ] )
121122 } )
122123
123124 describe ( 'bidirectional model sync' , ( ) => {
0 commit comments