@@ -5,9 +5,14 @@ describe('nav > nav-form', () => {
55 it ( 'has expected default structure' , async ( ) => {
66 const wrapper = mount ( BNavForm )
77
8- expect ( wrapper . is ( 'form ' ) ) . toBe ( true )
8+ expect ( wrapper . is ( 'li ' ) ) . toBe ( true )
99 expect ( wrapper . classes ( ) ) . toContain ( 'form-inline' )
1010 expect ( wrapper . classes ( ) . length ) . toBe ( 1 )
11+
12+ const $form = wrapper . find ( 'form' )
13+ expect ( $form . exists ( ) ) . toBe ( true )
14+ expect ( $form . classes ( ) ) . toContain ( 'form-inline' )
15+ expect ( $form . classes ( ) . length ) . toBe ( 1 )
1116 expect ( wrapper . text ( ) ) . toEqual ( '' )
1217 } )
1318
@@ -18,9 +23,63 @@ describe('nav > nav-form', () => {
1823 }
1924 } )
2025
21- expect ( wrapper . is ( 'form' ) ) . toBe ( true )
26+ expect ( wrapper . is ( 'li' ) ) . toBe ( true )
27+ expect ( wrapper . classes ( ) ) . toContain ( 'form-inline' )
28+ expect ( wrapper . classes ( ) . length ) . toBe ( 1 )
29+
30+ const $form = wrapper . find ( 'form' )
31+ expect ( $form . exists ( ) ) . toBe ( true )
32+ expect ( $form . classes ( ) ) . toContain ( 'form-inline' )
33+ expect ( $form . text ( ) ) . toEqual ( 'foobar' )
34+ } )
35+
36+ it ( 'applies ID to form when prop ID is set' , async ( ) => {
37+ const wrapper = mount ( BNavForm , {
38+ propsData : {
39+ id : 'baz'
40+ } ,
41+ slots : {
42+ default : 'foobar'
43+ }
44+ } )
45+
46+ expect ( wrapper . is ( 'li' ) ) . toBe ( true )
47+ expect ( wrapper . classes ( ) ) . toContain ( 'form-inline' )
48+ expect ( wrapper . classes ( ) . length ) . toBe ( 1 )
49+
50+ const $form = wrapper . find ( 'form' )
51+ expect ( $form . exists ( ) ) . toBe ( true )
52+ expect ( $form . classes ( ) ) . toContain ( 'form-inline' )
53+ expect ( $form . text ( ) ) . toEqual ( 'foobar' )
54+ expect ( $form . attributes ( 'id' ) ) . toEqual ( 'baz' )
55+ } )
56+
57+ it ( 'listeners are bound to form element' , async ( ) => {
58+ const onSubmit = jest . fn ( )
59+ const wrapper = mount ( BNavForm , {
60+ propsData : {
61+ id : 'baz'
62+ } ,
63+ listeners : {
64+ submit : onSubmit
65+ } ,
66+ slots : {
67+ default : 'foobar'
68+ }
69+ } )
70+
71+ expect ( wrapper . is ( 'li' ) ) . toBe ( true )
2272 expect ( wrapper . classes ( ) ) . toContain ( 'form-inline' )
2373 expect ( wrapper . classes ( ) . length ) . toBe ( 1 )
24- expect ( wrapper . text ( ) ) . toEqual ( 'foobar' )
74+
75+ const $form = wrapper . find ( 'form' )
76+ expect ( $form . exists ( ) ) . toBe ( true )
77+ expect ( $form . classes ( ) ) . toContain ( 'form-inline' )
78+ expect ( $form . text ( ) ) . toEqual ( 'foobar' )
79+
80+ expect ( onSubmit ) . not . toHaveBeenCalled ( )
81+
82+ $form . trigger ( 'submit' )
83+ expect ( onSubmit ) . toHaveBeenCalled ( )
2584 } )
2685} )
0 commit comments