@@ -15,7 +15,8 @@ import {
1515import {
1616 StyleUtils
1717} from "../../../src/openlayers/core/StyleUtils" ;
18-
18+ import { DataFlowService } from '../../../src/openlayers/services' ;
19+ import { Server } from 'mock-socket' ;
1920import { Object as obj } from 'ol' ;
2021import Overlay from 'ol/Overlay' ;
2122import * as olControl from 'ol/control' ;
@@ -1631,5 +1632,105 @@ describe('openlayers_WebMap', () => {
16311632 function errorCallback ( error ) {
16321633 console . log ( error ) ;
16331634 }
1635+ } ) ;
1636+ it ( 'createThemeLayer_SUPERMAP_MAP_datasource' , ( done ) => {
1637+ let options = {
1638+ server : server
1639+ } ;
1640+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
1641+ if ( url . indexOf ( 'web/config/portal.json' ) > - 1 ) {
1642+ return Promise . resolve ( new Response ( JSON . stringify ( iportal_serviceProxy ) ) ) ;
1643+ }
1644+ if ( url . indexOf ( 'map.json' ) > - 1 ) {
1645+ var mapJson = datavizWebMap_RestMap1 ;
1646+ return Promise . resolve ( new Response ( mapJson ) ) ;
1647+ }
1648+ return Promise . resolve ( ) ;
1649+ } ) ;
1650+ spyOn ( FetchRequest , 'post' ) . and . callFake ( ( url ) => {
1651+ if ( url . indexOf ( 'queryResults' ) > - 1 ) {
1652+ return Promise . resolve ( new Response ( supermapRestData ) ) ;
1653+ }
1654+ return Promise . resolve ( ) ;
1655+ } ) ;
1656+ var datavizWebmap = new WebMap ( id , { successCallback, errorCallback, server : defaultServer } ) ;
1657+ function successCallback ( map , mapInfo , layers , baseLayer ) {
1658+ expect ( map . getLayers ( ) . getArray ( ) [ 1 ] . getSource ( ) . graphics [ 0 ] . getGeometry ( ) . getCoordinates ( ) [ 0 ] ) . toBeCloseTo ( 12961495.051608399 , 0.00001 )
1659+ done ( ) ;
1660+ }
1661+ function errorCallback ( error ) {
1662+ console . log ( error ) ;
1663+ }
1664+ } ) ;
1665+ it ( 'graticuleLayer' , ( done ) => {
1666+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
1667+ if ( url . indexOf ( 'web/datas/1171594968/content.json' ) > - 1 ) {
1668+ return Promise . resolve ( new Response ( layerData_CSV ) ) ;
1669+ }
1670+ if ( url . indexOf ( 'map.json' ) > - 1 ) {
1671+ return Promise . resolve ( new Response ( JSON . stringify ( rangeLayer ) ) ) ;
1672+ }
1673+ return Promise . resolve ( ) ;
1674+ } ) ;
1675+ var datavizWebmap = new WebMap ( id , { successCallback, errorCallback, server : defaultServer } ) ;
1676+ function successCallback ( map , mapInfo , layers , baseLayer ) {
1677+ expect ( map . getLayers ( ) . getArray ( ) [ 1 ] . get ( 'layerID' ) ) . toBe ( 'graticule_layer' )
1678+ done ( ) ;
1679+ }
1680+ function errorCallback ( error ) {
1681+ console . log ( error ) ;
1682+ }
1683+ } ) ;
1684+ it ( 'add dataflow and update' , ( done ) => {
1685+ var urlDataFlow = 'ws://localhost:8004/dataflow' ;
1686+ var urlDataFlow1 = 'ws://localhost:8004/dataflow/broadcast' ;
1687+ var urlDataFlow2 = 'ws://localhost:8004/dataflow/subscribe' ;
1688+ var mockServer = new Server ( urlDataFlow ) ;
1689+ var mockServer1 = new Server ( urlDataFlow1 ) ;
1690+ var mockServer2 = new Server ( urlDataFlow2 ) ;
1691+ mockServer . on ( 'connection' , ( socket ) => {
1692+ socket . on ( 'close' , ( ) => { } ) ;
1693+ } ) ;
1694+ let socket2 ;
1695+ mockServer1 . on ( 'connection' , ( socket ) => {
1696+ socket . on ( 'message' , ( e ) => {
1697+ socket2 && socket2 . send ( e ) ;
1698+ } ) ;
1699+ socket . on ( 'close' , ( ) => { } ) ;
1700+ } ) ;
1701+ mockServer2 . on ( 'connection' , ( socket ) => {
1702+ socket2 = socket ;
1703+ } ) ;
1704+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
1705+ if ( url . indexOf ( 'web/datas/676516522/content.json' ) > - 1 ) {
1706+ return Promise . resolve ( new Response ( layerData_CSV ) ) ;
1707+ } else if ( url . indexOf ( 'dataflow.json' ) > - 1 ) {
1708+ dataflowLayerData . dataflow . urls [ 0 ] . url = urlDataFlow ;
1709+ return Promise . resolve ( new Response ( JSON . stringify ( dataflowLayerData . dataflow ) ) ) ;
1710+ } else if ( url . indexOf ( 'broadcast' ) > - 1 ) {
1711+ return Promise . resolve ( new Response ( JSON . stringify ( dataflowLayerData . broadcast ) ) ) ;
1712+ } else if ( url . indexOf ( 'subscribe' ) > - 1 ) {
1713+ return Promise . resolve ( new Response ( JSON . stringify ( dataflowLayerData . subscribe ) ) ) ;
1714+ } else if ( url . indexOf ( 'map.json' ) > - 1 ) {
1715+ dataflowLayer . layers [ 0 ] . url = urlDataFlow ;
1716+ dataflowLayer . layers [ 1 ] . url = urlDataFlow ;
1717+ dataflowLayer . layers [ 2 ] . url = urlDataFlow ;
1718+ dataflowLayer . layers [ 3 ] . url = urlDataFlow ;
1719+ return Promise . resolve ( new Response ( JSON . stringify ( dataflowLayer ) ) ) ;
1720+ }
1721+ return Promise . resolve ( ) ;
1722+ } ) ;
1723+ var datavizWebmap = new WebMap ( id , { successCallback, errorCallback, server : defaultServer } ) ;
1724+ function successCallback ( map , mapInfo , layers , baseLayer ) {
1725+ expect ( map . getLayers ( ) . getArray ( ) . length ) . toBe ( 7 ) ;
1726+ mockServer . stop ( ) ;
1727+ mockServer1 . stop ( ) ;
1728+ mockServer2 . stop ( ) ;
1729+ done ( ) ;
1730+ }
1731+ function errorCallback ( error ) {
1732+ console . log ( error ) ;
1733+ }
16341734 } ) ;
1735+
16351736} ) ;
0 commit comments