[ui/vis_maps/tests] stub tilemapsConfig rather than monkey-patching it

This commit is contained in:
spalger 2017-01-04 13:52:30 -07:00
parent dff8315098
commit 3099bb0bfb
2 changed files with 36 additions and 11 deletions

View file

@ -6,14 +6,28 @@ describe('tilemaptest - TileMapSettingsTests-deprecated', function () {
let tilemapSettings;
let tilemapsConfig;
beforeEach(ngMock.module('kibana'));
beforeEach(ngMock.module('kibana', ($provide) => {
$provide.decorator('tilemapsConfig', () => ({
manifestServiceUrl: 'https://proxy-tiles.elastic.co/v1/manifest',
deprecated: {
isOverridden: true,
config: {
url: 'https://tiles.elastic.co/v1/default/{z}/{x}/{y}.png?my_app_name=kibana_tests',
options: {
minZoom: 1,
maxZoom: 10,
attribution: '© [Elastic Tile Service](https://www.elastic.co/elastic_tile_service)'
}
},
}
}));
}));
beforeEach(ngMock.inject(function ($injector) {
tilemapSettings = $injector.get('tilemapSettings');
tilemapsConfig = $injector.get('tilemapsConfig');
tilemapsConfig.deprecated.isOverridden = true;
}));
describe('getting settings', function () {
beforeEach(async function () {
await tilemapSettings.loadSettings();
@ -27,10 +41,8 @@ describe('tilemaptest - TileMapSettingsTests-deprecated', function () {
expect(mapUrl).to.contain('{z}');
const urlObject = url.parse(mapUrl, true);
expect(urlObject.host).to.match(/elastic.co$/);
expect(urlObject.query).to.have.property('my_app_name');
expect(urlObject.query).to.have.property('my_app_version');
expect(urlObject.query).to.have.property('elastic_tile_service_tos');
expect(urlObject.hostname).to.be('tiles.elastic.co');
expect(urlObject.query).to.have.property('my_app_name', 'kibana_tests');
});

View file

@ -33,20 +33,33 @@ describe('tilemaptest - TileMapSettingsTests-mocked', function () {
};
};
beforeEach(ngMock.module('kibana'));
beforeEach(ngMock.module('kibana', ($provide) => {
$provide.decorator('tilemapsConfig', () => ({
manifestServiceUrl: 'http://foo.bar/manifest',
deprecated: {
isOverridden: false,
config: {
url: '',
options: {
minZoom: 1,
maxZoom: 10,
attribution: '© [Elastic Tile Service](https://www.elastic.co/elastic_tile_service)'
}
},
}
}));
}));
beforeEach(ngMock.inject(function ($injector) {
tilemapSettings = $injector.get('tilemapSettings');
tilemapsConfig = $injector.get('tilemapsConfig');
//mock the use of a manifest
tilemapsConfig.deprecated.isOverridden = false;
oldGetManifest = tilemapSettings._getTileServiceManifest;
tilemapSettings._getTileServiceManifest = mockGetManifest;
}));
afterEach(function () {
//restore overrides.
tilemapsConfig.isOverridden = true;
tilemapSettings._getTileServiceManifest = oldGetManifest;
});