File tree Expand file tree Collapse file tree 4 files changed +31
-10
lines changed
test/unit/specs/mount/Wrapper Expand file tree Collapse file tree 4 files changed +31
-10
lines changed Original file line number Diff line number Diff line change @@ -16,7 +16,11 @@ export default class VueWrapper extends Wrapper implements BaseWrapper {
16
16
get : ( ) => vm . _vnode ,
17
17
set : ( ) => { }
18
18
} ) )
19
-
19
+ // $FlowIgnore
20
+ Object . defineProperty ( this , 'element' , ( {
21
+ get : ( ) => vm . $el ,
22
+ set : ( ) => { }
23
+ } ) )
20
24
this . vm = vm
21
25
this . isVueComponent = true
22
26
this . _emitted = Object . create ( null )
Original file line number Diff line number Diff line change @@ -10,6 +10,22 @@ describe('setData', () => {
10
10
expect ( wrapper . findAll ( '.child.ready' ) . length ) . to . equal ( 1 )
11
11
} )
12
12
13
+ it ( 'keeps element in sync with vnode' , ( ) => {
14
+ const Component = {
15
+ template : '<div class="some-class" v-if="show">A custom component!</div>' ,
16
+ data ( ) {
17
+ return {
18
+ show : false
19
+ }
20
+ }
21
+ }
22
+ const wrapper = mount ( Component )
23
+ wrapper . setData ( { show : true } )
24
+ wrapper . update ( )
25
+ expect ( wrapper . element ) . to . equal ( wrapper . vm . $el )
26
+ expect ( wrapper . hasClass ( 'some-class' ) ) . to . be . true
27
+ } )
28
+
13
29
it ( 'throws an error if node is not a Vue instance' , ( ) => {
14
30
const message = 'wrapper.setData() can only be called on a Vue instance'
15
31
const compiled = compileToFunctions ( '<div><p></p></div>' )
Original file line number Diff line number Diff line change @@ -10,11 +10,11 @@ describe('text', () => {
10
10
expect ( wrapper . text ( ) ) . to . equal ( text )
11
11
} )
12
12
13
- it ( 'throws error if wrapper does not contain elememnt ' , ( ) => {
14
- const compiled = compileToFunctions ( `<div />` )
15
- const wrapper = mount ( compiled )
16
- wrapper . element = null
17
- const fn = ( ) => wrapper . text ( )
13
+ it ( 'throws error if wrapper does not contain element ' , ( ) => {
14
+ const wrapper = mount ( { render : ( h ) => h ( 'div' ) } )
15
+ const div = wrapper . find ( 'div' )
16
+ div . element = null
17
+ const fn = ( ) => div . text ( )
18
18
const message = '[vue-test-utils]: cannot call wrapper.text() on a wrapper without an element'
19
19
expect ( fn ) . to . throw ( ) . with . property ( 'message' , message )
20
20
} )
Original file line number Diff line number Diff line change @@ -74,10 +74,11 @@ describe('trigger', () => {
74
74
expect ( info . calledWith ( true ) ) . to . equal ( true )
75
75
} )
76
76
77
- it ( 'throws error if wrapper does not contain eleemnt' , ( ) => {
78
- const wrapper = mount ( { render : ( ) => { } } )
79
- wrapper . element = null
80
- const fn = ( ) => wrapper . trigger ( 'click' )
77
+ it ( 'throws error if wrapper does not contain element' , ( ) => {
78
+ const wrapper = mount ( { render : ( h ) => h ( 'div' ) } )
79
+ const div = wrapper . find ( 'div' )
80
+ div . element = null
81
+ const fn = ( ) => div . trigger ( 'click' )
81
82
const message = '[vue-test-utils]: cannot call wrapper.trigger() on a wrapper without an element'
82
83
expect ( fn ) . to . throw ( ) . with . property ( 'message' , message )
83
84
} )
You can’t perform that action at this time.
0 commit comments