earthtrek-core
Version:
Global Nominee NASA Space Apps Challenge 2017 Buenos Aires - Global Finalist (Best Use of Data) NASA Space Apps Challenge 2017 - 1D, 2D, 3D, Go! Challenge
97 lines (83 loc) • 3.05 kB
JavaScript
/**
* @class EarthTrekLayerCollectionTest
* @module EarthTrek
* @author SATrek
* @author Alejandro Sanchez <alejandro.sanchez.trek@gmail.com>
* @description EarthTrekCore - 08 JUL 2017.
*/
import EarthTrekLayerCollection from '../src/js/earthtrek-layer-collection';
import sinon from 'sinon';
import { assert } from 'chai';
import {ImageryLayerCollection} from '../src/js/utils/cesium';
describe('EarthTrekLayerCollection', () => {
var layerWithImagery, collection, layer, noRemovablelayer, removablelayer;
before(() => {
noRemovablelayer = {
id: "Reference_Features",
format: "image/png",
resolution: '250m',
top: true,
maximumLevel: 9,
removable: false
};
removablelayer = {
id: "Reference_Labels",
format: "image/png",
resolution: '250m',
top: true,
maximumLevel: 9
};
});
beforeEach(() => {
collection = new EarthTrekLayerCollection();
sinon.stub(collection, 'getInstance').withArgs().returns({raise: function () {
}});
sinon.stub(collection, "getImageryLayers").withArgs().returns(new ImageryLayerCollection());
layerWithImagery = collection.add(removablelayer);
});
it('Add layer to collection', (done) => {
assert.equal(layerWithImagery.id, layerWithImagery.imagery._imageryProvider._layer);
done();
});
it('Remove layer from collection', (done) => {
//Try to remove
assert.equal(1, collection.length());
assert.isTrue(collection.remove(removablelayer));
assert.equal(0, collection.length());
//If the result is true, then try to remove again the same layer.
assert.isFalse(collection.remove(removablelayer));
//The result should by false
done();
});
it('Try to remove non removable layer from collection', (done) => {
collection.add(noRemovablelayer);
assert.isFalse(collection.remove(noRemovablelayer));
done();
});
it('Hide layer from collection', (done) => {
assert.isTrue(collection.hide(layerWithImagery));
done();
});
it('Toggle Layer visibility', (done) => {
//Hide Layer
assert.isFalse(collection.toggle(layerWithImagery));
//Show Layer
assert.isTrue(collection.toggle(layerWithImagery));
done();
});
it('Toggle Layer visibility with callback', (done) => {
//Hide Layer
assert.isFalse(collection.toggle(layerWithImagery), (show) => {
return show;
});
//Show Layer
assert.isTrue(collection.toggle(layerWithImagery), (show) => {
return show;
});
done();
});
it('Raise to top layer in collection', (done) => {
assert.isTrue(collection.raiseToTop(layerWithImagery));
done();
});
});