react-spatial 1.1.6-beta.1 → 1.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js +28 -26
- package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js.map +1 -1
- package/components/BaseLayerToggler/BaseLayerToggler.test.js +48 -80
- package/components/BaseLayerToggler/BaseLayerToggler.test.js.map +1 -1
- package/components/BasicMap/BasicMap.test.js +62 -73
- package/components/BasicMap/BasicMap.test.js.map +1 -1
- package/components/ResizeHandler/ResizeHandler.js +1 -1
- package/components/ResizeHandler/ResizeHandler.js.map +1 -1
- package/components/RouteSchedule/RouteSchedule.test.js +0 -3
- package/components/RouteSchedule/RouteSchedule.test.js.map +1 -1
- package/components/Search/Search.test.js +0 -4
- package/components/Search/Search.test.js.map +1 -1
- package/components/StopsFinder/StopsFinder.test.js +0 -4
- package/components/StopsFinder/StopsFinder.test.js.map +1 -1
- package/components/TrackerControl/TrackerControl.test.js +0 -4
- package/components/TrackerControl/TrackerControl.test.js.map +1 -1
- package/package.json +6 -3
- package/styleguidist/StyleGuide.js +1 -1
- package/styleguidist/StyleGuide.js.map +1 -1
- package/utils/KML.test.js +0 -3
- package/utils/KML.test.js.map +1 -1
- package/utils/KMLFormat.test.js +0 -3
- package/utils/KMLFormat.test.js.map +1 -1
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
/* eslint-disable react/jsx-props-no-spreading */
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import { configure, mount } from 'enzyme';
|
|
4
|
-
import Adapter from 'enzyme-adapter-react-16';
|
|
5
|
-
import 'jest-canvas-mock';
|
|
6
|
-
import renderer from 'react-test-renderer';
|
|
7
2
|
import { Layer } from 'mobility-toolbox-js/ol';
|
|
3
|
+
import { fireEvent, render } from '@testing-library/react';
|
|
8
4
|
import BaseLayerSwitcher from './BaseLayerSwitcher';
|
|
9
5
|
|
|
10
|
-
configure({ adapter: new Adapter() });
|
|
11
|
-
|
|
12
6
|
describe('BaseLayerSwitcher', function () {
|
|
13
7
|
var layers;
|
|
14
8
|
var layerImages = {
|
|
@@ -37,49 +31,57 @@ describe('BaseLayerSwitcher', function () {
|
|
|
37
31
|
|
|
38
32
|
describe('matches snapshots', function () {
|
|
39
33
|
test('using default properties.', function () {
|
|
40
|
-
var
|
|
34
|
+
var ref = render(
|
|
41
35
|
React.createElement( BaseLayerSwitcher, { layers: layers, layerImages: layerImages })
|
|
42
36
|
);
|
|
43
|
-
var
|
|
44
|
-
expect(
|
|
37
|
+
var container = ref.container;
|
|
38
|
+
expect(container.innerHTML).toMatchSnapshot();
|
|
45
39
|
});
|
|
46
40
|
});
|
|
47
41
|
|
|
48
42
|
test('the correct baselayer is visible on mount', function () {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
);
|
|
52
|
-
expect(comp.props().layers[0].visible).toBe(true);
|
|
43
|
+
render(React.createElement( BaseLayerSwitcher, { layers: layers, layerImages: layerImages }));
|
|
44
|
+
expect(layers[0].visible).toBe(true);
|
|
53
45
|
});
|
|
54
46
|
|
|
55
|
-
test('removes open class and switches layer on click', function () {
|
|
56
|
-
var
|
|
47
|
+
test('removes open class and switches layer on click', async function () {
|
|
48
|
+
var ref = render(
|
|
57
49
|
React.createElement( BaseLayerSwitcher, { layers: layers, layerImages: layerImages })
|
|
58
50
|
);
|
|
59
|
-
|
|
60
|
-
|
|
51
|
+
var container = ref.container;
|
|
52
|
+
await fireEvent.click(container.querySelector('.rs-opener'));
|
|
53
|
+
await fireEvent.click(
|
|
54
|
+
container.querySelectorAll('.rs-base-layer-switcher-button')[3]
|
|
55
|
+
);
|
|
61
56
|
expect(
|
|
62
|
-
|
|
57
|
+
layers.filter(function (layer) {
|
|
63
58
|
return layer.isBaseLayer;
|
|
64
59
|
})[2].visible
|
|
65
60
|
).toBe(true);
|
|
66
|
-
expect(
|
|
61
|
+
expect(!!container.querySelector('.rs-base-layer-switcher rs-open')).toBe(
|
|
62
|
+
false
|
|
63
|
+
);
|
|
67
64
|
});
|
|
68
65
|
|
|
69
|
-
test('toggles base map instead of opening when only two base layers', function () {
|
|
70
|
-
var
|
|
66
|
+
test('toggles base map instead of opening when only two base layers', async function () {
|
|
67
|
+
var ref = render(
|
|
68
|
+
React.createElement( BaseLayerSwitcher, { layers: layers.slice(0, 2) })
|
|
69
|
+
);
|
|
70
|
+
var container = ref.container;
|
|
71
71
|
expect(
|
|
72
|
-
|
|
72
|
+
layers.filter(function (layer) {
|
|
73
73
|
return layer.isBaseLayer;
|
|
74
74
|
})[0].visible
|
|
75
75
|
).toBe(true);
|
|
76
|
-
|
|
76
|
+
await fireEvent.click(container.querySelector('.rs-opener'));
|
|
77
77
|
expect(
|
|
78
|
-
|
|
78
|
+
layers.filter(function (layer) {
|
|
79
79
|
return layer.isBaseLayer;
|
|
80
80
|
})[1].visible
|
|
81
81
|
).toBe(true);
|
|
82
|
-
expect(
|
|
82
|
+
expect(!!container.querySelector('.rs-base-layer-switcher rs-open')).toBe(
|
|
83
|
+
false
|
|
84
|
+
);
|
|
83
85
|
});
|
|
84
86
|
});
|
|
85
87
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseLayerSwitcher.test.js","sources":["../../../src/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"BaseLayerSwitcher.test.js","sources":["../../../src/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js"],"sourcesContent":["import React from 'react';\nimport { Layer } from 'mobility-toolbox-js/ol';\nimport { fireEvent, render } from '@testing-library/react';\nimport BaseLayerSwitcher from './BaseLayerSwitcher';\n\ndescribe('BaseLayerSwitcher', () => {\n let layers;\n const layerImages = {\n layerFoo: 'foo',\n layerBar: 'bar',\n layerFoobar: 'foobar',\n };\n\n beforeEach(() => {\n layers = [\n new Layer({\n name: 'bl1',\n isBaseLayer: true,\n }),\n new Layer({\n name: 'bl2',\n isBaseLayer: true,\n visible: false,\n }),\n new Layer({\n name: 'bl3',\n isBaseLayer: true,\n visible: false,\n }),\n ];\n });\n\n describe('matches snapshots', () => {\n test('using default properties.', () => {\n const { container } = render(\n <BaseLayerSwitcher layers={layers} layerImages={layerImages} />,\n );\n expect(container.innerHTML).toMatchSnapshot();\n });\n });\n\n test('the correct baselayer is visible on mount', () => {\n render(<BaseLayerSwitcher layers={layers} layerImages={layerImages} />);\n expect(layers[0].visible).toBe(true);\n });\n\n test('removes open class and switches layer on click', async () => {\n const { container } = render(\n <BaseLayerSwitcher layers={layers} layerImages={layerImages} />,\n );\n await fireEvent.click(container.querySelector('.rs-opener'));\n await fireEvent.click(\n container.querySelectorAll('.rs-base-layer-switcher-button')[3],\n );\n expect(\n layers.filter((layer) => {\n return layer.isBaseLayer;\n })[2].visible,\n ).toBe(true);\n expect(!!container.querySelector('.rs-base-layer-switcher rs-open')).toBe(\n false,\n );\n });\n\n test('toggles base map instead of opening when only two base layers', async () => {\n const { container } = render(\n <BaseLayerSwitcher layers={layers.slice(0, 2)} />,\n );\n expect(\n layers.filter((layer) => {\n return layer.isBaseLayer;\n })[0].visible,\n ).toBe(true);\n await fireEvent.click(container.querySelector('.rs-opener'));\n expect(\n layers.filter((layer) => {\n return layer.isBaseLayer;\n })[1].visible,\n ).toBe(true);\n expect(!!container.querySelector('.rs-base-layer-switcher rs-open')).toBe(\n false,\n );\n });\n});\n"],"names":["let","const"],"mappings":"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"}
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
/* eslint-disable react/jsx-props-no-spreading */
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { configure, shallow, mount } from 'enzyme';
|
|
4
|
-
import Adapter from 'enzyme-adapter-react-16';
|
|
5
|
-
import 'jest-canvas-mock';
|
|
6
3
|
import OLMap from 'ol/Map';
|
|
4
|
+
import { fireEvent, render, screen } from '@testing-library/react';
|
|
7
5
|
import { Layer } from 'mobility-toolbox-js/ol';
|
|
8
|
-
import renderer from 'react-test-renderer';
|
|
9
6
|
import BaseLayerToggler from './BaseLayerToggler';
|
|
10
7
|
import LayerService from '../../LayerService';
|
|
11
8
|
|
|
12
|
-
configure({ adapter: new Adapter() });
|
|
13
|
-
|
|
14
9
|
var shallowComp = function (layers, props) {
|
|
15
10
|
var map = new OLMap({});
|
|
16
11
|
var layerService = new LayerService(layers);
|
|
17
|
-
return
|
|
12
|
+
return render(
|
|
18
13
|
React.createElement( BaseLayerToggler, Object.assign({},
|
|
19
14
|
{ layerService: layerService, map: map }, (props || {})))
|
|
20
15
|
);
|
|
@@ -22,7 +17,7 @@ var shallowComp = function (layers, props) {
|
|
|
22
17
|
var mountComp = function (layers, props) {
|
|
23
18
|
var map = new OLMap({});
|
|
24
19
|
var layerService = new LayerService(layers);
|
|
25
|
-
return
|
|
20
|
+
return render(
|
|
26
21
|
React.createElement( BaseLayerToggler, Object.assign({},
|
|
27
22
|
{ layerService: layerService, map: map }, (props || {})))
|
|
28
23
|
);
|
|
@@ -31,12 +26,12 @@ var mountComp = function (layers, props) {
|
|
|
31
26
|
var expectSnapshot = function (layers, props) {
|
|
32
27
|
var map = new OLMap({});
|
|
33
28
|
var layerService = new LayerService(layers);
|
|
34
|
-
var
|
|
29
|
+
var ref = render(
|
|
35
30
|
React.createElement( BaseLayerToggler, Object.assign({},
|
|
36
31
|
{ layerService: layerService, map: map }, (props || {})))
|
|
37
32
|
);
|
|
38
|
-
var
|
|
39
|
-
expect(
|
|
33
|
+
var container = ref.container;
|
|
34
|
+
expect(container.innerHTML).toMatchSnapshot();
|
|
40
35
|
};
|
|
41
36
|
|
|
42
37
|
describe('BaseLayerToggler', function () {
|
|
@@ -66,93 +61,66 @@ describe('BaseLayerToggler', function () {
|
|
|
66
61
|
});
|
|
67
62
|
|
|
68
63
|
test('initialize correctly the state', function () {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
expect(comp.state.idx).toBe(1);
|
|
72
|
-
expect(comp.state.layers.length).toBe(3);
|
|
73
|
-
expect(comp.state.layerVisible).toBe(comp.state.layers[0]);
|
|
64
|
+
shallowComp(layers);
|
|
65
|
+
expect(layers[0].visible).toBe(true);
|
|
74
66
|
});
|
|
75
67
|
|
|
76
|
-
test('goes forward through all available layer except the current layer displayed on the map.', function () {
|
|
77
|
-
var
|
|
78
|
-
var
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
wrapper.find('.rs-base-layer-next').simulate('click');
|
|
85
|
-
expect(comp.state.layerVisible).toBe(layerVisible);
|
|
86
|
-
expect(comp.state.idx).toBe(2);
|
|
68
|
+
test('goes forward through all available layer except the current layer displayed on the map.', async function () {
|
|
69
|
+
var ref = shallowComp(layers);
|
|
70
|
+
var container = ref.container;
|
|
71
|
+
expect(layers[0].visible).toBe(true);
|
|
72
|
+
await fireEvent.click(
|
|
73
|
+
container.querySelector('.rs-base-layer-toggle-button')
|
|
74
|
+
);
|
|
75
|
+
expect(layers[1].visible).toBe(true);
|
|
87
76
|
|
|
88
77
|
// Layer at index 0 is displayed on the map so we must ignore it
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
78
|
+
await fireEvent.click(container.querySelector('.rs-base-layer-next'));
|
|
79
|
+
await fireEvent.click(
|
|
80
|
+
container.querySelector('.rs-base-layer-toggle-button')
|
|
81
|
+
);
|
|
82
|
+
expect(layers[2].visible).toBe(true);
|
|
83
|
+
|
|
84
|
+
await fireEvent.click(container.querySelector('.rs-base-layer-next'));
|
|
85
|
+
await fireEvent.click(
|
|
86
|
+
container.querySelector('.rs-base-layer-toggle-button')
|
|
87
|
+
);
|
|
88
|
+
expect(layers[0].visible).toBe(true);
|
|
92
89
|
});
|
|
93
90
|
|
|
94
|
-
test('goes backward through all available layer except the current layer displayed on the map.', function () {
|
|
95
|
-
var
|
|
96
|
-
var
|
|
97
|
-
|
|
98
|
-
expect(comp.state.layers.length).toBe(3);
|
|
99
|
-
expect(comp.state.layerVisible).toBe(layerVisible);
|
|
100
|
-
expect(comp.state.idx).toBe(1);
|
|
101
|
-
|
|
102
|
-
wrapper.find('.rs-base-layer-previous').simulate('click');
|
|
103
|
-
expect(comp.state.layerVisible).toBe(layerVisible);
|
|
104
|
-
expect(comp.state.idx).toBe(2);
|
|
91
|
+
test('goes backward through all available layer except the current layer displayed on the map.', async function () {
|
|
92
|
+
var ref = shallowComp(layers);
|
|
93
|
+
var container = ref.container;
|
|
94
|
+
expect(layers[0].visible).toBe(true);
|
|
105
95
|
|
|
106
96
|
// Layer at index 0 is displayed on the map so we must ignore it
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
expect(
|
|
118
|
-
expect(comp.state.idx).toBe(1);
|
|
119
|
-
comp.state.layers[0].setVisible(false);
|
|
120
|
-
|
|
121
|
-
expect(comp.state.layers.length).toBe(3);
|
|
122
|
-
expect(comp.state.layerVisible).toBe(comp.state.layers[1]);
|
|
123
|
-
expect(comp.state.idx).toBe(0);
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
test('display on the map the layer clicked', function () {
|
|
127
|
-
var wrapper = mountComp(layers);
|
|
128
|
-
var comp = wrapper.instance();
|
|
129
|
-
expect(comp.state.layers.length).toBe(3);
|
|
130
|
-
expect(comp.state.layers[0].visible).toBe(true);
|
|
131
|
-
wrapper.find('.rs-base-layer-toggle-button').simulate('click');
|
|
132
|
-
wrapper.update();
|
|
133
|
-
expect(comp.state.layers[0].visible).toBe(false);
|
|
134
|
-
expect(comp.state.layers[1].visible).toBe(true);
|
|
135
|
-
expect(comp.state.layerVisible).toBe(comp.state.layers[1]);
|
|
136
|
-
expect(comp.state.idx).toBe(0); // Toggle
|
|
97
|
+
await fireEvent.click(container.querySelector('.rs-base-layer-previous'));
|
|
98
|
+
await fireEvent.click(
|
|
99
|
+
container.querySelector('.rs-base-layer-toggle-button')
|
|
100
|
+
);
|
|
101
|
+
expect(layers[2].visible).toBe(true);
|
|
102
|
+
|
|
103
|
+
await fireEvent.click(container.querySelector('.rs-base-layer-next'));
|
|
104
|
+
await fireEvent.click(
|
|
105
|
+
container.querySelector('.rs-base-layer-toggle-button')
|
|
106
|
+
);
|
|
107
|
+
expect(layers[1].visible).toBe(true);
|
|
137
108
|
});
|
|
138
109
|
|
|
139
110
|
test('hide baseLayerToggler if only one baselayer', function () {
|
|
140
|
-
var
|
|
141
|
-
|
|
111
|
+
var ref = mountComp([layers[0]]);
|
|
112
|
+
var container = ref.container;
|
|
113
|
+
expect(container.innerHTML).toBe('');
|
|
142
114
|
});
|
|
143
115
|
|
|
144
116
|
test('should use children', function () {
|
|
145
|
-
|
|
117
|
+
shallowComp(layers, {
|
|
146
118
|
prevButtonContent: 'prev',
|
|
147
119
|
nextButtonContent: 'next',
|
|
148
120
|
});
|
|
149
|
-
expect(wrapper.find('.rs-base-layer-item').exists()).toBe(false);
|
|
150
|
-
|
|
151
|
-
var next = wrapper.find('.rs-base-layer-next').text();
|
|
152
|
-
var prev = wrapper.find('.rs-base-layer-previous').text();
|
|
153
121
|
|
|
154
|
-
expect(
|
|
155
|
-
expect(
|
|
122
|
+
expect(screen.getByText('next')).not.toBeNull();
|
|
123
|
+
expect(screen.getByText('prev')).not.toBeNull();
|
|
156
124
|
});
|
|
157
125
|
});
|
|
158
126
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseLayerToggler.test.js","sources":["../../../src/components/BaseLayerToggler/BaseLayerToggler.test.js"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport { configure, shallow, mount } from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport 'jest-canvas-mock';\nimport OLMap from 'ol/Map';\nimport { Layer } from 'mobility-toolbox-js/ol';\nimport renderer from 'react-test-renderer';\nimport BaseLayerToggler from './BaseLayerToggler';\nimport LayerService from '../../LayerService';\n\nconfigure({ adapter: new Adapter() });\n\nconst shallowComp = (layers, props) => {\n const map = new OLMap({});\n const layerService = new LayerService(layers);\n return shallow(\n <BaseLayerToggler\n layerService={layerService}\n map={map}\n {...(props || {})}\n />,\n );\n};\nconst mountComp = (layers, props) => {\n const map = new OLMap({});\n const layerService = new LayerService(layers);\n return mount(\n <BaseLayerToggler\n layerService={layerService}\n map={map}\n {...(props || {})}\n />,\n );\n};\n\nconst expectSnapshot = (layers, props) => {\n const map = new OLMap({});\n const layerService = new LayerService(layers);\n const component = renderer.create(\n <BaseLayerToggler\n layerService={layerService}\n map={map}\n {...(props || {})}\n />,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n};\n\ndescribe('BaseLayerToggler', () => {\n let layers;\n\n beforeEach(() => {\n layers = [\n new Layer({\n name: 'bl1',\n isBaseLayer: true,\n }),\n new Layer({\n name: 'bl2',\n isBaseLayer: true,\n visible: false,\n }),\n new Layer({\n name: 'bl3',\n isBaseLayer: true,\n visible: false,\n }),\n ];\n });\n describe('matches snapshots', () => {\n test('using default properties.', () => {\n expectSnapshot(layers);\n });\n });\n\n test('initialize correctly the state', () => {\n const wrapper = shallowComp(layers);\n const comp = wrapper.instance();\n expect(comp.state.idx).toBe(1);\n expect(comp.state.layers.length).toBe(3);\n expect(comp.state.layerVisible).toBe(comp.state.layers[0]);\n });\n\n test('goes forward through all available layer except the current layer displayed on the map.', () => {\n const wrapper = shallowComp(layers);\n const comp = wrapper.instance();\n const layerVisible = comp.state.layers[0];\n expect(comp.state.layers.length).toBe(3);\n expect(comp.state.layerVisible).toBe(layerVisible);\n expect(comp.state.idx).toBe(1);\n\n wrapper.find('.rs-base-layer-next').simulate('click');\n expect(comp.state.layerVisible).toBe(layerVisible);\n expect(comp.state.idx).toBe(2);\n\n // Layer at index 0 is displayed on the map so we must ignore it\n wrapper.find('.rs-base-layer-next').simulate('click');\n expect(comp.state.layerVisible).toBe(layerVisible);\n expect(comp.state.idx).toBe(1);\n });\n\n test('goes backward through all available layer except the current layer displayed on the map.', () => {\n const wrapper = shallowComp(layers);\n const comp = wrapper.instance();\n const layerVisible = comp.state.layers[0];\n expect(comp.state.layers.length).toBe(3);\n expect(comp.state.layerVisible).toBe(layerVisible);\n expect(comp.state.idx).toBe(1);\n\n wrapper.find('.rs-base-layer-previous').simulate('click');\n expect(comp.state.layerVisible).toBe(layerVisible);\n expect(comp.state.idx).toBe(2);\n\n // Layer at index 0 is displayed on the map so we must ignore it\n wrapper.find('.rs-base-layer-previous').simulate('click');\n expect(comp.state.layerVisible).toBe(layerVisible);\n expect(comp.state.idx).toBe(1);\n });\n\n test('displays always a baseLayer on the map.', () => {\n const wrapper = shallowComp(layers);\n const comp = wrapper.instance();\n const layerVisible = comp.state.layers[0];\n expect(comp.state.layers.length).toBe(3);\n expect(comp.state.layerVisible).toBe(layerVisible);\n expect(comp.state.idx).toBe(1);\n comp.state.layers[0].setVisible(false);\n\n expect(comp.state.layers.length).toBe(3);\n expect(comp.state.layerVisible).toBe(comp.state.layers[1]);\n expect(comp.state.idx).toBe(0);\n });\n\n test('display on the map the layer clicked', () => {\n const wrapper = mountComp(layers);\n const comp = wrapper.instance();\n expect(comp.state.layers.length).toBe(3);\n expect(comp.state.layers[0].visible).toBe(true);\n wrapper.find('.rs-base-layer-toggle-button').simulate('click');\n wrapper.update();\n expect(comp.state.layers[0].visible).toBe(false);\n expect(comp.state.layers[1].visible).toBe(true);\n expect(comp.state.layerVisible).toBe(comp.state.layers[1]);\n expect(comp.state.idx).toBe(0); // Toggle\n });\n\n test('hide baseLayerToggler if only one baselayer', () => {\n const wrapper = mountComp([layers[0]]);\n expect(wrapper.find('.rs-base-layer-item').exists()).toBe(false);\n });\n\n test('should use children', () => {\n const wrapper = shallowComp(layers, {\n prevButtonContent: 'prev',\n nextButtonContent: 'next',\n });\n expect(wrapper.find('.rs-base-layer-item').exists()).toBe(false);\n\n const next = wrapper.find('.rs-base-layer-next').text();\n const prev = wrapper.find('.rs-base-layer-previous').text();\n\n expect(next).toBe('next');\n expect(prev).toBe('prev');\n });\n});\n"],"names":["const","let"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseLayerToggler.test.js","sources":["../../../src/components/BaseLayerToggler/BaseLayerToggler.test.js"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport OLMap from 'ol/Map';\nimport { fireEvent, render, screen } from '@testing-library/react';\nimport { Layer } from 'mobility-toolbox-js/ol';\nimport BaseLayerToggler from './BaseLayerToggler';\nimport LayerService from '../../LayerService';\n\nconst shallowComp = (layers, props) => {\n const map = new OLMap({});\n const layerService = new LayerService(layers);\n return render(\n <BaseLayerToggler\n layerService={layerService}\n map={map}\n {...(props || {})}\n />,\n );\n};\nconst mountComp = (layers, props) => {\n const map = new OLMap({});\n const layerService = new LayerService(layers);\n return render(\n <BaseLayerToggler\n layerService={layerService}\n map={map}\n {...(props || {})}\n />,\n );\n};\n\nconst expectSnapshot = (layers, props) => {\n const map = new OLMap({});\n const layerService = new LayerService(layers);\n const { container } = render(\n <BaseLayerToggler\n layerService={layerService}\n map={map}\n {...(props || {})}\n />,\n );\n expect(container.innerHTML).toMatchSnapshot();\n};\n\ndescribe('BaseLayerToggler', () => {\n let layers;\n\n beforeEach(() => {\n layers = [\n new Layer({\n name: 'bl1',\n isBaseLayer: true,\n }),\n new Layer({\n name: 'bl2',\n isBaseLayer: true,\n visible: false,\n }),\n new Layer({\n name: 'bl3',\n isBaseLayer: true,\n visible: false,\n }),\n ];\n });\n describe('matches snapshots', () => {\n test('using default properties.', () => {\n expectSnapshot(layers);\n });\n });\n\n test('initialize correctly the state', () => {\n shallowComp(layers);\n expect(layers[0].visible).toBe(true);\n });\n\n test('goes forward through all available layer except the current layer displayed on the map.', async () => {\n const { container } = shallowComp(layers);\n expect(layers[0].visible).toBe(true);\n await fireEvent.click(\n container.querySelector('.rs-base-layer-toggle-button'),\n );\n expect(layers[1].visible).toBe(true);\n\n // Layer at index 0 is displayed on the map so we must ignore it\n await fireEvent.click(container.querySelector('.rs-base-layer-next'));\n await fireEvent.click(\n container.querySelector('.rs-base-layer-toggle-button'),\n );\n expect(layers[2].visible).toBe(true);\n\n await fireEvent.click(container.querySelector('.rs-base-layer-next'));\n await fireEvent.click(\n container.querySelector('.rs-base-layer-toggle-button'),\n );\n expect(layers[0].visible).toBe(true);\n });\n\n test('goes backward through all available layer except the current layer displayed on the map.', async () => {\n const { container } = shallowComp(layers);\n expect(layers[0].visible).toBe(true);\n\n // Layer at index 0 is displayed on the map so we must ignore it\n await fireEvent.click(container.querySelector('.rs-base-layer-previous'));\n await fireEvent.click(\n container.querySelector('.rs-base-layer-toggle-button'),\n );\n expect(layers[2].visible).toBe(true);\n\n await fireEvent.click(container.querySelector('.rs-base-layer-next'));\n await fireEvent.click(\n container.querySelector('.rs-base-layer-toggle-button'),\n );\n expect(layers[1].visible).toBe(true);\n });\n\n test('hide baseLayerToggler if only one baselayer', () => {\n const { container } = mountComp([layers[0]]);\n expect(container.innerHTML).toBe('');\n });\n\n test('should use children', () => {\n shallowComp(layers, {\n prevButtonContent: 'prev',\n nextButtonContent: 'next',\n });\n\n expect(screen.getByText('next')).not.toBeNull();\n expect(screen.getByText('prev')).not.toBeNull();\n });\n});\n"],"names":["const","let"],"mappings":"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"}
|