Skip to content

Commit 78d253e

Browse files
committed
added getWrapperWithMap for wrap map component
with root map
1 parent 797abb5 commit 78d253e

File tree

1 file changed

+30
-8
lines changed

1 file changed

+30
-8
lines changed

tests/unit/LMarker.spec.js

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,37 @@ import LMap from '@/components/LMap.vue';
55

66
const localVue = createLocalVue();
77

8-
function getWrapper (propsData) {
9-
const ParentMapVm = mount(LMap, {
8+
function getWrapperWithMap (component, propsData, mountOptions) {
9+
const mapWrapper = mount(LMap, {
1010
localVue
11-
}).vm;
11+
});
1212

1313
const wrapper = mount({
14-
...LMarker,
14+
...component,
1515
// trick from here https://github.com/vuejs/vue-test-utils/issues/560#issuecomment-461865315
1616
created () {
17-
this.$parent = ParentMapVm;
17+
this.$parent = mapWrapper.vm;
1818
}
1919
}, {
2020
localVue,
2121
propsData,
22-
sync: false // avoid warning, see
22+
sync: false, // avoid warning, see
2323
// Removing sync mode #1137 https://github.com/vuejs/vue-test-utils/issues/1137
24+
...mountOptions
2425
});
25-
return wrapper;
26+
return {
27+
wrapper,
28+
mapWrapper
29+
};
2630
}
2731

2832
describe('LMarker.vue', () => {
2933
test('LMarker.vue change prop latLng', async () => {
3034
const initLatlng = L.latLng([11, 22]);
31-
const wrapper = getWrapper({
35+
const wrapperAndMap = getWrapperWithMap(LMarker, {
3236
latLng: initLatlng
3337
});
38+
const wrapper = wrapperAndMap.wrapper;
3439
expect(wrapper.exists()).toBe(true);
3540
expect(wrapper.vm.mapObject.getLatLng().equals(initLatlng)).toBe(true);
3641
const newLatLng = L.latLng([1, 1]);
@@ -39,4 +44,21 @@ describe('LMarker.vue', () => {
3944
const curLatLng = wrapper.vm.mapObject.getLatLng();
4045
expect(curLatLng.equals(newLatLng)).toBe(true);
4146
});
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+
});
4264
});

0 commit comments

Comments
 (0)