Skip to content

Commit

Permalink
Add map layer/overlay tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
dpmcmlxxvi committed Jun 13, 2019
1 parent edb4da2 commit 6b15836
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 2 deletions.
4 changes: 2 additions & 2 deletions test/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<script src="../dist/olexp.js"></script>
<script>
const explorer = new olexp.Explorer('explorer');
const {group, overlay, position, tile, vector} = (() => {
const data = (() => {
const coordinate = [-77.016389, 38.904722];
const position = ol.proj.transform(coordinate, 'EPSG:4326', 'EPSG:3857');
const geometry = {type: 'Point', coordinates: position};
Expand All @@ -34,7 +34,7 @@
const group = new ol.layer.Group({layers: [vector]});
const overlay = new ol.Overlay({position, element, stopEvent: false});
const tile = new ol.layer.Tile({source: new ol.source.OSM()});
return {group, overlay, position, tile, vector};
return {group, overlay, tile, vector};
})();
</script>
</body>
Expand Down
67 changes: 67 additions & 0 deletions test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,47 @@ const pti = require('puppeteer-to-istanbul');

const url = 'file://' + __dirname + '/index.html';

// Add and remove layer type from map.
// Returns node count before and after removal.
const addRemoveLayer = async (type) => {
return await page.evaluate((type) => {
// Get layer based on type
const layer = data[type];

// Add to map
explorer.map.addLayer(layer);
const before = explorer.outline.find({
parent : explorer.outline.get(explorer.options.layers.id),
}).length;

// Remove from map
explorer.map.removeLayer(layer);
const after = explorer.outline.find({
parent : explorer.outline.get(explorer.options.layers.id),
}).length;
return {before, after}
}, type);
};

// Add and remove overlay type from map.
// Returns node count before and after removal.
const addRemoveOverlay = async () => {
return await page.evaluate(() => {
// Add to map
explorer.map.addOverlay(data.overlay);
const before = explorer.outline.find({
parent : explorer.outline.get(explorer.options.overlays.id),
}).length;

// Remove from map
explorer.map.removeOverlay(data.overlay);
const after = explorer.outline.find({
parent : explorer.outline.get(explorer.options.overlays.id),
}).length;
return {before, after}
});
};

// Check if element exists.
const isExist = async (selector) => {
await page.waitFor(1000);
Expand Down Expand Up @@ -91,6 +132,32 @@ describe('olexp', () => {
});
});

describe('Map', () => {
it('loads layer - group', async () => {
const {before, after} = await addRemoveLayer('group');
expect(before).toEqual(1);
expect(after).toEqual(0);
});

it('loads layer - tile', async () => {
const {before, after} = await addRemoveLayer('tile');
expect(before).toEqual(1);
expect(after).toEqual(0);
});

it('loads layer - vector', async () => {
const {before, after} = await addRemoveLayer('vector');
expect(before).toEqual(1);
expect(after).toEqual(0);
});

it('loads overlay', async () => {
const {before, after} = await addRemoveOverlay();
expect(before).toEqual(1);
expect(after).toEqual(0);
});
});

describe('Toolbar', () => {
it('show/hide toolbar', async () => {
const selector = '[name=olexp-explorer-explorer-name-toolbar]';
Expand Down

0 comments on commit 6b15836

Please sign in to comment.