@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
92 lines (91 loc) • 2.98 kB
JavaScript
import ConfigManager from '../configuration/configmanager';
import GirafeConfig from '../configuration/girafeconfig';
import I18nManager from '../i18n/i18nmanager';
import UserDataManager from '../userdata/userdatamanager';
import proj4 from 'proj4';
import { register } from 'ol/proj/proj4';
class MockHelper {
static startMocking() {
const configManager = ConfigManager.getInstance();
// @ts-ignore
configManager['config'] = new GirafeConfig(MockHelper.mockConfig);
// @ts-ignore
configManager['defaultConfig'] = new GirafeConfig(MockHelper.mockConfig);
const userDataManager = UserDataManager.getInstance();
userDataManager.setSource(MockHelper.mockConfig.userdata.source);
userDataManager.deleteAllUserData();
I18nManager.getInstance().translations = { fr: { a: 'translated_a', b: 'translated_b' } };
MockHelper.mockConfig.crs.forEach((x) => {
proj4.defs(x.code, x.definition);
});
register(proj4);
}
static stopMocking() {
const configManager = ConfigManager.getInstance();
// @ts-ignore
configManager.config = null;
UserDataManager.getInstance().deleteAllUserData();
}
}
Object.defineProperty(MockHelper, "mockConfig", {
enumerable: true,
configurable: true,
writable: true,
value: {
general: {
locale: 'en-US',
logLevel: 'debug'
},
languages: {
translations: {
fr: ['Mock/fr.json']
},
defaultLanguage: 'fr'
},
themes: {
url: 'Mock/themes.json'
},
basemaps: {
defaultBasemap: 'Grundkarte farbig',
OSM: false,
SwissTopoVectorTiles: true
},
projections: {
'EPSG:2056': 'LV95',
'EPSG:3857': 'W-M'
},
map: {
srid: 'EPSG:2056',
scales: [1000000, 500000, 200000, 100000, 50000, 20000, 10000, 5000, 2000, 1000, 500, 200],
startPosition: '2628597,1186378',
startZoom: '3',
maxExtent: '2200000,1040000,3000000,1310000'
},
search: {
url: 'https://search.url?query=###SEARCHTERM###'
},
share: {
createUrl: 'https://share.url'
},
print: {
url: 'https://print.url'
},
offline: {
downloadStartZoom: 5,
downloadEndZoom: 8
},
lidar: {
url: 'https://pytree.test.url'
},
userdata: {
source: 'localStorage'
},
crs: [
{
code: 'EPSG:2056',
definition: '+proj=somerc +lat_0=46.9524055555556 +lon_0=7.43958333333333 +k_0=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs +type=crs'
}
]
}
});
export default MockHelper;