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 {
1616 get : ( ) => vm . _vnode ,
1717 set : ( ) => { }
1818 } ) )
19-
19+ // $FlowIgnore
20+ Object . defineProperty ( this , 'element' , ( {
21+ get : ( ) => vm . $el ,
22+ set : ( ) => { }
23+ } ) )
2024 this . vm = vm
2125 this . isVueComponent = true
2226 this . _emitted = Object . create ( null )
Original file line number Diff line number Diff line change @@ -10,6 +10,22 @@ describe('setData', () => {
1010 expect ( wrapper . findAll ( '.child.ready' ) . length ) . to . equal ( 1 )
1111 } )
1212
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+
1329 it ( 'throws an error if node is not a Vue instance' , ( ) => {
1430 const message = 'wrapper.setData() can only be called on a Vue instance'
1531 const compiled = compileToFunctions ( '<div><p></p></div>' )
Original file line number Diff line number Diff line change @@ -10,11 +10,11 @@ describe('text', () => {
1010 expect ( wrapper . text ( ) ) . to . equal ( text )
1111 } )
1212
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 ( )
1818 const message = '[vue-test-utils]: cannot call wrapper.text() on a wrapper without an element'
1919 expect ( fn ) . to . throw ( ) . with . property ( 'message' , message )
2020 } )
Original file line number Diff line number Diff line change @@ -74,10 +74,11 @@ describe('trigger', () => {
7474 expect ( info . calledWith ( true ) ) . to . equal ( true )
7575 } )
7676
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' )
8182 const message = '[vue-test-utils]: cannot call wrapper.trigger() on a wrapper without an element'
8283 expect ( fn ) . to . throw ( ) . with . property ( 'message' , message )
8384 } )
You can’t perform that action at this time.
0 commit comments