1
1
import { mount , createLocalVue } from '@vue/test-utils'
2
2
import Component from '../CDropdown'
3
- import VueRouter from 'vue-router'
4
-
5
- const localVue = new createLocalVue ( )
6
- localVue . use ( VueRouter )
7
- const router = new VueRouter ( )
8
-
9
- const wrapper = mount ( Component , {
10
- router,
11
- localVue
12
- } )
13
-
3
+ import CDropdownItem from '../CDropdownItem'
14
4
const ComponentName = 'CDropdown'
15
5
16
6
const generateWrapper = ( ) => mount ( Component , {
@@ -30,7 +20,7 @@ const generateWrapper = () => mount(Component, {
30
20
flip : false ,
31
21
} ,
32
22
slots : {
33
- default : 'CDropdown subcomponents'
23
+ default : [ CDropdownItem , CDropdownItem ]
34
24
}
35
25
} )
36
26
@@ -55,8 +45,8 @@ describe(ComponentName, () => {
55
45
it ( 'has a name' , ( ) => {
56
46
expect ( Component . name ) . toMatch ( ComponentName )
57
47
} )
58
- it ( 'renders correctly' , ( ) => {
59
- expect ( wrapper . element ) . toMatchSnapshot ( )
48
+ it ( 'renders basic wrapper correctly' , ( ) => {
49
+ expect ( mount ( Component ) . element ) . toMatchSnapshot ( )
60
50
} )
61
51
it ( 'renders custom wrapper correctly' , ( ) => {
62
52
expect ( generateWrapper ( ) . element ) . toMatchSnapshot ( )
@@ -65,13 +55,15 @@ describe(ComponentName, () => {
65
55
expect ( generateNavWrapper ( ) . element ) . toMatchSnapshot ( )
66
56
} )
67
57
it ( 'toggles when show prop is changed' , ( ) => {
68
- expect ( wrapper . vm . visible ) . toBe ( false )
69
- wrapper . setProps ( { show : true } )
58
+ const wrapper = generateWrapper ( )
70
59
expect ( wrapper . vm . visible ) . toBe ( true )
60
+ wrapper . setProps ( { show : false } )
61
+ expect ( wrapper . vm . visible ) . toBe ( false )
71
62
} )
72
- it ( 'toggles when show prop is changed' , ( ) => {
63
+ it ( 'hide when dropdown item is clicked' , ( ) => {
64
+ const wrapper = generateWrapper ( )
73
65
expect ( wrapper . vm . visible ) . toBe ( true )
74
- wrapper . vm . $router . push ( 'new-route-name' )
66
+ wrapper . vm . $children [ 0 ] . $el . click ( )
75
67
expect ( wrapper . vm . visible ) . toBe ( false )
76
68
} )
77
69
it ( 'close, but does not open on click when dropdown is disabled' , ( ) => {
0 commit comments