diff --git a/test/unit/entwine.js b/test/unit/entwine.js index d45d81cbcf..e3343f9ebc 100644 --- a/test/unit/entwine.js +++ b/test/unit/entwine.js @@ -6,13 +6,41 @@ import Coordinates from 'Core/Geographic/Coordinates'; import EntwinePointTileSource from 'Source/EntwinePointTileSource'; import EntwinePointTileLayer from 'Layer/EntwinePointTileLayer'; import EntwinePointTileNode from 'Core/EntwinePointTileNode'; +import sinon from 'sinon'; +import Fetcher from 'Provider/Fetcher'; import Renderer from './bootstrap'; +import ept from '../data/unitTest/entwine/ept.json'; +import eptHierarchy from '../data/unitTest/entwine/ept-hierarchy/0-0-0-0.json'; + +const urlEpt = 'https://raw.githubusercontent.com/iTowns/iTowns2-sample-data/master/pointclouds/entwine/ept.json'; +const urlEptHierarchy = 'https://raw.githubusercontent.com/iTowns/iTowns2-sample-data/master/pointclouds/entwine/ept-hierarchy/0-0-0-0.json'; + +const resources = { + [urlEpt]: ept, + [urlEptHierarchy]: eptHierarchy, +}; + describe('Entwine Point Tile', function () { - const source = new EntwinePointTileSource({ - // url: 'https://raw.githubusercontent.com/iTowns/iTowns2-sample-data/master/pointclouds/entwine', - url: 'test/data/unitTest/entwine', - networkOptions: process.env.HTTPS_PROXY ? { agent: new HttpsProxyAgent(process.env.HTTPS_PROXY) } : {}, + let source; + let stubFetcherJson; + let stubFetcherArrayBuf; + + before(function () { + stubFetcherJson = sinon.stub(Fetcher, 'json') + .callsFake(url => Promise.resolve(JSON.parse(resources[url]))); + stubFetcherArrayBuf = sinon.stub(Fetcher, 'arrayBuffer') + .callsFake(() => Promise.resolve(new ArrayBuffer(8).buffer)); + + source = new EntwinePointTileSource({ + url: 'https://raw.githubusercontent.com/iTowns/iTowns2-sample-data/master/pointclouds/entwine', + networkOptions: process.env.HTTPS_PROXY ? { agent: new HttpsProxyAgent(process.env.HTTPS_PROXY) } : {}, + }); + }); + + after(function () { + stubFetcherJson.restore(); + stubFetcherArrayBuf.restore(); }); it('loads the EPT structure', (done) => {