@@ -193,6 +193,33 @@ describe('Tests for VueNumberInput.vue component', () => {
193
193
setTimeout . mockClear ( ) ;
194
194
} ) ;
195
195
196
+ it ( 'buttonDownHandler method should invoke setTimeout function' , ( ) => {
197
+ wrapper . setMethods ( {
198
+ makeStep : jest . fn ( )
199
+ } ) ;
200
+ wrapper . vm . buttonDownHandler ( 'inc' ) ;
201
+ expect ( setTimeout ) . toHaveBeenCalledWith (
202
+ expect . any ( Number ) ,
203
+ expect . any ( Number )
204
+ ) ;
205
+ setInterval . mockClear ( ) ;
206
+ setTimeout . mockClear ( ) ;
207
+ } ) ;
208
+
209
+ it ( 'buttonDownHandler method should invoke setInterval function' , ( ) => {
210
+ wrapper . setMethods ( {
211
+ makeStep : jest . fn ( )
212
+ } ) ;
213
+ wrapper . vm . buttonDownHandler ( 'inc' ) ;
214
+ expect ( setInterval ) . toHaveBeenCalledWith (
215
+ expect . any ( Function ) ,
216
+ expect . any ( Number )
217
+ ) ;
218
+ expect ( wrapper . vm . makeStep ) . toHaveBeenCalledWith ( 3 ) ;
219
+ setInterval . mockClear ( ) ;
220
+ setTimeout . mockClear ( ) ;
221
+ } ) ;
222
+
196
223
it ( 'Component should have buttonUpHandler method and it should invoke clearTimeout and clearInterval' , ( ) => {
197
224
wrapper . setData ( { intervalId : 1 , timeoutId : 2 } ) ;
198
225
expect ( typeof wrapper . vm . buttonUpHandler ) . toBe ( 'function' ) ;
@@ -605,6 +632,22 @@ describe('Tests for VueNumberInput.vue component', () => {
605
632
expect ( wrapper . vm . buttonDownHandler ) . lastCalledWith ( 'inc' ) ;
606
633
} ) ;
607
634
635
+ it ( 'Touchstart event on .vue-number-input__btn-inc should invoke methods.buttonDownHandler' , ( ) => {
636
+ wrapper . setMethods ( { buttonDownHandler : jest . fn ( ) } ) ;
637
+ wrapper
638
+ . find ( '.vue-number-input__btn-inc' )
639
+ . trigger ( 'touchstart' ) ;
640
+ expect ( wrapper . vm . buttonDownHandler ) . toHaveBeenCalledWith (
641
+ 'inc'
642
+ ) ;
643
+ } ) ;
644
+
645
+ it ( 'Touchend event on .vue-number-input__btn-inc should invoke methods.buttonUpHandler' , ( ) => {
646
+ wrapper . setMethods ( { buttonUpHandler : jest . fn ( ) } ) ;
647
+ wrapper . find ( '.vue-number-input__btn-inc' ) . trigger ( 'touchend' ) ;
648
+ expect ( wrapper . vm . buttonUpHandler ) . toHaveBeenCalled ( ) ;
649
+ } ) ;
650
+
608
651
it ( 'Click on .vue-number-input__btn-dec should invoke methods.buttonDownHandler "dec" argument' , ( ) => {
609
652
wrapper . setMethods ( { buttonDownHandler : jest . fn ( ) } ) ;
610
653
wrapper
@@ -630,6 +673,22 @@ describe('Tests for VueNumberInput.vue component', () => {
630
673
'dec'
631
674
) ;
632
675
} ) ;
676
+
677
+ it ( 'Touchstart event on .vue-number-input__btn-dec should invoke methods.buttonDownHandler' , ( ) => {
678
+ wrapper . setMethods ( { buttonDownHandler : jest . fn ( ) } ) ;
679
+ wrapper
680
+ . find ( '.vue-number-input__btn-dec' )
681
+ . trigger ( 'touchstart' ) ;
682
+ expect ( wrapper . vm . buttonDownHandler ) . toHaveBeenCalledWith (
683
+ 'dec'
684
+ ) ;
685
+ } ) ;
686
+
687
+ it ( 'Touchend event on .vue-number-input__btn-dec should invoke methods.buttonUpHandler' , ( ) => {
688
+ wrapper . setMethods ( { buttonUpHandler : jest . fn ( ) } ) ;
689
+ wrapper . find ( '.vue-number-input__btn-dec' ) . trigger ( 'touchend' ) ;
690
+ expect ( wrapper . vm . buttonUpHandler ) . toHaveBeenCalled ( ) ;
691
+ } ) ;
633
692
} ) ;
634
693
} ) ;
635
694
} ) ;
0 commit comments