@@ -5,32 +5,37 @@ import LMap from '@/components/LMap.vue';
5
5
6
6
const localVue = createLocalVue ( ) ;
7
7
8
- function getWrapper ( propsData ) {
9
- const ParentMapVm = mount ( LMap , {
8
+ function getWrapperWithMap ( component , propsData , mountOptions ) {
9
+ const mapWrapper = mount ( LMap , {
10
10
localVue
11
- } ) . vm ;
11
+ } ) ;
12
12
13
13
const wrapper = mount ( {
14
- ...LMarker ,
14
+ ...component ,
15
15
// trick from here https://github.com/vuejs/vue-test-utils/issues/560#issuecomment-461865315
16
16
created ( ) {
17
- this . $parent = ParentMapVm ;
17
+ this . $parent = mapWrapper . vm ;
18
18
}
19
19
} , {
20
20
localVue,
21
21
propsData,
22
- sync : false // avoid warning, see
22
+ sync : false , // avoid warning, see
23
23
// Removing sync mode #1137 https://github.com/vuejs/vue-test-utils/issues/1137
24
+ ...mountOptions
24
25
} ) ;
25
- return wrapper ;
26
+ return {
27
+ wrapper,
28
+ mapWrapper
29
+ } ;
26
30
}
27
31
28
32
describe ( 'LMarker.vue' , ( ) => {
29
33
test ( 'LMarker.vue change prop latLng' , async ( ) => {
30
34
const initLatlng = L . latLng ( [ 11 , 22 ] ) ;
31
- const wrapper = getWrapper ( {
35
+ const wrapperAndMap = getWrapperWithMap ( LMarker , {
32
36
latLng : initLatlng
33
37
} ) ;
38
+ const wrapper = wrapperAndMap . wrapper ;
34
39
expect ( wrapper . exists ( ) ) . toBe ( true ) ;
35
40
expect ( wrapper . vm . mapObject . getLatLng ( ) . equals ( initLatlng ) ) . toBe ( true ) ;
36
41
const newLatLng = L . latLng ( [ 1 , 1 ] ) ;
@@ -39,4 +44,21 @@ describe('LMarker.vue', () => {
39
44
const curLatLng = wrapper . vm . mapObject . getLatLng ( ) ;
40
45
expect ( curLatLng . equals ( newLatLng ) ) . toBe ( true ) ;
41
46
} ) ;
47
+
48
+ test ( 'LMarker.vue default slot text' , async ( ) => {
49
+ const markerText = 'Hello from marker!' ;
50
+ const wrapperAndMap = getWrapperWithMap ( LMarker , {
51
+ latLng : [ 0 , 0 ]
52
+ } , {
53
+ slots : {
54
+ default : markerText
55
+ }
56
+ } ) ;
57
+ const wrapper = wrapperAndMap . wrapper ;
58
+ const mapWrapper = wrapperAndMap . mapWrapper ;
59
+ expect ( mapWrapper . text ( ) ) . toContain ( 'Leaflet' ) ;
60
+ expect ( wrapper . exists ( ) ) . toBe ( true ) ;
61
+ await wrapper . vm . $nextTick ( ) ;
62
+ expect ( wrapper . text ( ) ) . toEqual ( markerText ) ;
63
+ } ) ;
42
64
} ) ;
0 commit comments