diff --git a/web/client/utils/WMSUtils.js b/web/client/utils/WMSUtils.js index 9acd8a510bf..44d2e664a6d 100644 --- a/web/client/utils/WMSUtils.js +++ b/web/client/utils/WMSUtils.js @@ -72,7 +72,7 @@ export const getLayerOptions = function(capabilities) { return isObject(capabilities) ? { capabilities, - description: capabilities.Abstract, + ...(capabilities.Abstract && capabilities.Abstract !== '' && { description: capabilities.Abstract }), boundingBox: capabilities?.EX_GeographicBoundingBox ? { minx: capabilities.EX_GeographicBoundingBox?.westBoundLongitude, diff --git a/web/client/utils/__tests__/WMSUtils-test.js b/web/client/utils/__tests__/WMSUtils-test.js index c72a0f2e5eb..06eff09e99e 100644 --- a/web/client/utils/__tests__/WMSUtils-test.js +++ b/web/client/utils/__tests__/WMSUtils-test.js @@ -43,6 +43,33 @@ describe('Test the WMSUtils', () => { availableStyles: [{ name: 'generic' }] }); }); + it('test getLayerOptions with empty or no Abstract', () => { + expect(getLayerOptions()).toEqual({}); + const capabilities = { + Style: { Name: 'generic' }, + LatLonBoundingBox: {$: { minx: -180, miny: -90, maxx: 180, maxy: 90 }} + }; + + const capabilities2 = { + Style: { Name: 'generic' }, + Abstract: '', + LatLonBoundingBox: {$: { minx: -180, miny: -90, maxx: 180, maxy: 90 }} + }; + // should not contain description if Abstract is undefined + expect(getLayerOptions(capabilities)) + .toEqual({ + capabilities, + boundingBox: { minx: -180, miny: -90, maxx: 180, maxy: 90 }, + availableStyles: [{ name: 'generic' }] + }); + // should not contain description if Abstract is empty string + expect(getLayerOptions(capabilities2)) + .toEqual({ + capabilities: capabilities2, + boundingBox: { minx: -180, miny: -90, maxx: 180, maxy: 90 }, + availableStyles: [{ name: 'generic' }] + }); + }); it('test getTileGridFromLayerOptions', () => { const tileGrids = [ {