1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- import { getCenterPointWGS84 } from 'app/features/transformers/spatial/utils';
- import { getGazetteer } from './gazetteer';
- let backendResults: any = { hello: 'world' };
- const geojsonObject = {
- type: 'FeatureCollection',
- features: [
- {
- id: 'A',
- type: 'Feature',
- geometry: {
- type: 'Point',
- coordinates: [0, 0],
- },
- properties: {
- hello: 'A',
- },
- },
- {
- type: 'Feature',
- geometry: {
- type: 'Point',
- coordinates: [1, 1],
- },
- properties: {
- some_code: 'B',
- hello: 'B',
- },
- },
- {
- type: 'Feature',
- geometry: {
- type: 'Point',
- coordinates: [2, 2],
- },
- properties: {
- an_id: 'C',
- hello: 'C',
- },
- },
- ],
- };
- jest.mock('@grafana/runtime', () => ({
- ...(jest.requireActual('@grafana/runtime') as unknown as object),
- getBackendSrv: () => ({
- get: jest.fn().mockResolvedValue(backendResults),
- }),
- }));
- describe('Placename lookup from geojson format', () => {
- beforeEach(() => {
- backendResults = { hello: 'world' };
- });
- it('can lookup by id', async () => {
- backendResults = geojsonObject;
- const gaz = await getGazetteer('local');
- expect(gaz.error).toBeUndefined();
- expect(getCenterPointWGS84(gaz.find('A')?.geometry())).toMatchInlineSnapshot(`
- Array [
- 0,
- 0,
- ]
- `);
- });
- it('can look up by a code', async () => {
- backendResults = geojsonObject;
- const gaz = await getGazetteer('airports');
- expect(gaz.error).toBeUndefined();
- expect(getCenterPointWGS84(gaz.find('B')?.geometry())).toMatchInlineSnapshot(`
- Array [
- 1,
- 1,
- ]
- `);
- });
- it('can look up by an id property', async () => {
- backendResults = geojsonObject;
- const gaz = await getGazetteer('airports');
- expect(gaz.error).toBeUndefined();
- expect(getCenterPointWGS84(gaz.find('C')?.geometry())).toMatchInlineSnapshot(`
- Array [
- 2,
- 2,
- ]
- `);
- });
- });
|