From ce95dbb953fd65c76c235539bf2e566f6d8da2cd Mon Sep 17 00:00:00 2001 From: minniewong Date: Wed, 10 May 2023 13:08:51 -0400 Subject: [PATCH 01/13] Add NRT dois --- .../layers/smap/SMAP_L1_Passive_Faraday_Rotation_Aft.md | 2 +- .../layers/smap/SMAP_L1_Passive_Faraday_Rotation_Fore.md | 3 +-- .../layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option1.md | 2 +- .../layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option2.md | 2 +- .../layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option3.md | 2 +- .../layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option1.md | 2 +- .../layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option2.md | 2 +- .../layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option3.md | 2 +- 8 files changed, 8 insertions(+), 9 deletions(-) diff --git a/config/default/common/config/metadata/layers/smap/SMAP_L1_Passive_Faraday_Rotation_Aft.md b/config/default/common/config/metadata/layers/smap/SMAP_L1_Passive_Faraday_Rotation_Aft.md index c3b766972b..5037e7a7a8 100644 --- a/config/default/common/config/metadata/layers/smap/SMAP_L1_Passive_Faraday_Rotation_Aft.md +++ b/config/default/common/config/metadata/layers/smap/SMAP_L1_Passive_Faraday_Rotation_Aft.md @@ -4,4 +4,4 @@ The SMAP spacecraft carries two instruments, a radar (active) and a radiometer ( Data field: `faraday_rotation_angle` -References: SPL1BTB [doi:10.5067/ZHHBN1KQLI20](https://doi.org/10.5067/ZHHBN1KQLI20) \ No newline at end of file +References: SPL1BTB_NRT [doi:10.5067/UH70WUPQKCFR](https://doi.org/10.5067/UH70WUPQKCFR); SPL1BTB [doi:10.5067/ZHHBN1KQLI20](https://doi.org/10.5067/ZHHBN1KQLI20) \ No newline at end of file diff --git a/config/default/common/config/metadata/layers/smap/SMAP_L1_Passive_Faraday_Rotation_Fore.md b/config/default/common/config/metadata/layers/smap/SMAP_L1_Passive_Faraday_Rotation_Fore.md index af1d929b8d..334342e1b7 100644 --- a/config/default/common/config/metadata/layers/smap/SMAP_L1_Passive_Faraday_Rotation_Fore.md +++ b/config/default/common/config/metadata/layers/smap/SMAP_L1_Passive_Faraday_Rotation_Fore.md @@ -2,7 +2,6 @@ The Soil Moisture Active Passive (SMAP) "Faraday Rotation Angle (L1, Passive, Fo The SMAP spacecraft carries two instruments, a radar (active) and a radiometer (passive), that together make global measurements of land surface soil moisture and freeze/thaw state. It is useful for monitoring and predicting natural hazards such as floods and droughts, understanding the linkages between Earth’s water, energy and carbon cycles, and reducing uncertainties in predicting weather and climate. - Data field: `faraday_rotation_angle` -References: SPL1BTB [doi:10.5067/ZHHBN1KQLI20](https://doi.org/10.5067/ZHHBN1KQLI20) \ No newline at end of file +References: SPL1BTB_NRT [doi:10.5067/UH70WUPQKCFR](https://doi.org/10.5067/UH70WUPQKCFR); SPL1BTB [doi:10.5067/ZHHBN1KQLI20](https://doi.org/10.5067/ZHHBN1KQLI20) \ No newline at end of file diff --git a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option1.md b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option1.md index 4c4472d2ec..4ae92a5bbd 100644 --- a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option1.md +++ b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option1.md @@ -4,4 +4,4 @@ The SMAP spacecraft carries two instruments, a radar (active) and a radiometer ( Data field: `soil_moisture_option1` -References: SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) +References: SPL2SMP_NRT [doi:10.5067/NCTT8THPWRTL](https://doi.org/10.5067/NCTT8THPWRTL); SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) diff --git a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option2.md b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option2.md index 36e75fda77..64223604bf 100644 --- a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option2.md +++ b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option2.md @@ -4,5 +4,5 @@ The SMAP spacecraft carries two instruments, a radar (active) and a radiometer ( Data field: `soil_moisture_option2` -References: SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) +References: SPL2SMP_NRT [doi:10.5067/NCTT8THPWRTL](https://doi.org/10.5067/NCTT8THPWRTL); SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) diff --git a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option3.md b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option3.md index f66dea2a3a..caae007dc5 100644 --- a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option3.md +++ b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Day_Soil_Moisture_Option3.md @@ -4,5 +4,5 @@ The SMAP spacecraft carries two instruments, a radar (active) and a radiometer ( Data field: `soil_moisture_option3` -References: SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) +References: SPL2SMP_NRT [doi:10.5067/NCTT8THPWRTL](https://doi.org/10.5067/NCTT8THPWRTL); SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) diff --git a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option1.md b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option1.md index f5a67a0a46..ac691817f2 100644 --- a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option1.md +++ b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option1.md @@ -4,7 +4,7 @@ The SMAP spacecraft carries two instruments, a radar (active) and a radiometer ( Data field: `soil_moisture_option1` -References: SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) +References: SPL2SMP_NRT [doi:10.5067/NCTT8THPWRTL](https://doi.org/10.5067/NCTT8THPWRTL); SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) diff --git a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option2.md b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option2.md index 96fdbd6269..2ed1946f9a 100644 --- a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option2.md +++ b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option2.md @@ -4,5 +4,5 @@ The SMAP spacecraft carries two instruments, a radar (active) and a radiometer ( Data field: `soil_moisture_option2` -References: SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) +References: SPL2SMP_NRT [doi:10.5067/NCTT8THPWRTL](https://doi.org/10.5067/NCTT8THPWRTL); SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) diff --git a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option3.md b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option3.md index 11ab58aac7..8e401fa61f 100644 --- a/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option3.md +++ b/config/default/common/config/metadata/layers/smap/SMAP_L2_Passive_Night_Soil_Moisture_Option3.md @@ -4,5 +4,5 @@ The SMAP spacecraft carries two instruments, a radar (active) and a radiometer ( Data field: `soil_moisture_option3` -References: SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) +References: SPL2SMP_NRT [doi:10.5067/NCTT8THPWRTL](https://doi.org/10.5067/NCTT8THPWRTL); SPL2SMP [doi:10.5067/LPJ8F0TAK6E0](https://doi.org/10.5067/LPJ8F0TAK6E0) From 4846853c79f0cfbcb3fae14918457de6c0f4a57c Mon Sep 17 00:00:00 2001 From: Tom Cariello Date: Mon, 15 May 2023 15:19:06 -0400 Subject: [PATCH 02/13] Removed underline in tour story modals. --- web/scss/features/tour.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/web/scss/features/tour.scss b/web/scss/features/tour.scss index 9bd2bf9706..0f6da1a1bb 100644 --- a/web/scss/features/tour.scss +++ b/web/scss/features/tour.scss @@ -560,6 +560,7 @@ .wildfire .modal-body a { color: #7bf; font-weight: 400; + text-decoration: none; } .default .modal-body a:hover, From 3488edef4ddc7f9ca9e7dbd778457e51e21348cc Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Tue, 16 May 2023 10:49:04 -0400 Subject: [PATCH 03/13] WV-2716 Kiosk end-to-end & unit tests (#4341) * kiosk mode e2e test * kiosk unit tests --- e2e/features/kiosk/kiosk-test.spec.js | 89 ++++++++++++++++++++ e2e/test-utils/global-variables/selectors.js | 1 + web/js/fixtures.js | 2 + web/js/modules/ui/util.test.js | 53 ++++++++++++ 4 files changed, 145 insertions(+) create mode 100644 e2e/features/kiosk/kiosk-test.spec.js create mode 100644 web/js/modules/ui/util.test.js diff --git a/e2e/features/kiosk/kiosk-test.spec.js b/e2e/features/kiosk/kiosk-test.spec.js new file mode 100644 index 0000000000..0634145c07 --- /dev/null +++ b/e2e/features/kiosk/kiosk-test.spec.js @@ -0,0 +1,89 @@ +// @ts-check +const { test, expect } = require('@playwright/test') +const createSelectors = require('../../test-utils/global-variables/selectors') + +let page +let selectors + +const kioskQueryStringGeo = 'http://localhost:3000/?v=-250.17116762774398,-114.67919463709383,250.62557403459047,109.37518092954436&df=true&kiosk=true&l=Coastlines_15m,OrbitTracks_Terra_Descending,MODIS_Terra_CorrectedReflectance_TrueColor&lg=true' +const kioskQueryStringArctic = 'http://localhost:3000/?v=-9215416.788865805,-4212995.281243633,9489665.699466601,4155580.686192584&p=arctic&df=true&kiosk=true&eic=da&l=Land_Mask,AMSRU2_Sea_Ice_Concentration_12km(palette=blue_6)&lg=true' +const kioskQueryStringAntarctic = 'http://localhost:3000/?v=-9215416.788865805,-4212995.281243633,9489665.699466601,4155580.686192584&p=antarctic&df=true&kiosk=true&eic=da&l=Land_Mask,AMSRU2_Sea_Ice_Concentration_12km(palette=blue_6)&lg=true' + +test.describe.configure({ mode: 'serial' }) + +test.beforeAll(async ({ browser }) => { + page = await browser.newPage() + selectors = createSelectors(page) +}) + +test.afterAll(async () => { + await page.close() +}) + +// helper to confirm target els are removed/hidden in kiosk mode +const kioskModeValidElsRemoved = async () => { + const { + infoToolbarButton, + locationSearchToolbarButton, + measureBtn, + projToolbarButton, + shareToolbarButton, + snapshotToolbarButton, + timelineHeader, + zoomInButton, + zoomOutButton, + sidebarContainer, + mapRotateLeft, + mapRotateReset, + mapRotateRight, + distractionFreeExitBtn + } = selectors + + const uiElements = [ + infoToolbarButton, + locationSearchToolbarButton, + measureBtn, + projToolbarButton, + shareToolbarButton, + snapshotToolbarButton, + timelineHeader, + zoomInButton, + zoomOutButton, + sidebarContainer, + distractionFreeExitBtn, + mapRotateLeft, + mapRotateReset, + mapRotateRight + ] + + for (const el of uiElements) { + await expect(el).not.toBeVisible() + } +} + +test('Loading into kiosk mode in geographic projection displays the correct UI elements', async () => { + await page.goto(kioskQueryStringGeo) + const distractionFreeTimeline = page.locator('#distraction-free-timeline') + const wvLogo = page.locator('#wv-logo') + await expect(distractionFreeTimeline).toBeVisible() + await expect(wvLogo).toBeVisible() + await kioskModeValidElsRemoved() +}) + +test('Loading into kiosk mode in arctic projection displays the correct UI elements', async () => { + await page.goto(kioskQueryStringArctic) + const distractionFreeTimeline = page.locator('#distraction-free-timeline') + const wvLogo = page.locator('#wv-logo') + await expect(distractionFreeTimeline).toBeVisible() + await expect(wvLogo).toBeVisible() + await kioskModeValidElsRemoved() +}) + +test('Loading into kiosk mode in antarctic projection displays the correct UI elements', async () => { + await page.goto(kioskQueryStringAntarctic) + const distractionFreeTimeline = page.locator('#distraction-free-timeline') + const wvLogo = page.locator('#wv-logo') + await expect(distractionFreeTimeline).toBeVisible() + await expect(wvLogo).toBeVisible() + await kioskModeValidElsRemoved() +}) diff --git a/e2e/test-utils/global-variables/selectors.js b/e2e/test-utils/global-variables/selectors.js index 77fcfcaffc..b3b18de7a1 100644 --- a/e2e/test-utils/global-variables/selectors.js +++ b/e2e/test-utils/global-variables/selectors.js @@ -200,6 +200,7 @@ module.exports = (page) => ({ projToolbarButton: page.locator('#wv-proj-button'), snapshotToolbarButton: page.locator('#wv-image-button'), infoToolbarButton: page.locator('#wv-info-button'), + distractionFreeExitBtn: page.locator('#wv-exit-distraction-free-mode-button'), // share shareToolbar: page.locator('#toolbar_share'), diff --git a/web/js/fixtures.js b/web/js/fixtures.js index e6bd2ce732..6558b82d5f 100644 --- a/web/js/fixtures.js +++ b/web/js/fixtures.js @@ -9,6 +9,7 @@ import { defaultState as initialAnimationState } from './modules/animation/reduc import { defaultAlertState } from './modules/alerts/reducer'; import { getInitialEventsState } from './modules/natural-events/reducers'; import { sidebarState as initialSidebarState } from './modules/sidebar/reducers'; +import { uiState as initialUiState } from './modules/ui/reducers'; import util from './util/util'; const mockBaseCmrApi = 'mock.cmr.api/'; @@ -35,6 +36,7 @@ fixtures.getState = function() { map: fixtures.map(), animation: initialAnimationState, sidebar: initialSidebarState, + ui: initialUiState, proj: { selected: { id: 'geographic', diff --git a/web/js/modules/ui/util.test.js b/web/js/modules/ui/util.test.js new file mode 100644 index 0000000000..f6f85e04bd --- /dev/null +++ b/web/js/modules/ui/util.test.js @@ -0,0 +1,53 @@ +import { + TOGGLE_KIOSK_MODE, + DISPLAY_STATIC_MAP, + READY_FOR_KIOSK_ANIMATION, +} from './constants'; +import uiReducers, { uiState } from './reducers'; + +describe('uiReducers', () => { + it('Handles toggle kiosk mode action [ui-reducer-enter-kiosk-mode]', () => { + const isActive = true; + const action = { + type: TOGGLE_KIOSK_MODE, + isActive, + }; + + const expectedState = { + ...uiState, + isKioskModeActive: isActive, + }; + + expect(uiReducers(uiState, action)).toEqual(expectedState); + }); + + it('Handles display static map action [ui-reducer-display-static-map]', () => { + const isActive = true; + const action = { + type: DISPLAY_STATIC_MAP, + isActive, + }; + + const expectedState = { + ...uiState, + displayStaticMap: isActive, + }; + + expect(uiReducers(uiState, action)).toEqual(expectedState); + }); + + it('Handles ready for kiosk animation action [ui-reducer-ready-for-animation]', () => { + const toggleAnimation = true; + const action = { + type: READY_FOR_KIOSK_ANIMATION, + toggleAnimation, + }; + + const expectedState = { + ...uiState, + readyForKioskAnimation: toggleAnimation, + }; + + expect(uiReducers(uiState, action)).toEqual(expectedState); + }); +}); From 91893fcc20e66b73c04c8279b662149042b1377f Mon Sep 17 00:00:00 2001 From: minniewong Date: Tue, 16 May 2023 11:57:50 -0400 Subject: [PATCH 04/13] remove sci from NEO urls --- config/default/common/brand/about/acknowledgements.md | 2 +- config/default/common/config/metadata/layers/modis/Aerosol.md | 2 +- .../default/common/config/metadata/layers/modis/BlueMarble.md | 2 +- .../common/config/metadata/layers/modis/Chlorophyll_a.md | 2 +- .../config/metadata/layers/modis/LandSurfaceTemperature.md | 2 +- .../layers/modis/aqua/MODIS_Aqua_Land_Surface_Temp_Day.md | 2 +- .../layers/modis/aqua/MODIS_Aqua_Land_Surface_Temp_Night.md | 2 +- .../metadata/layers/modis/aqua/MODIS_Aqua_NDSI_Snow_Cover.md | 2 +- .../config/metadata/layers/modis/aqua/MODIS_Aqua_Sea_Ice.md | 2 +- .../common/config/metadata/layers/modis/terra/Aerosol.md | 2 +- .../metadata/layers/modis/terra/MODIS_Terra_NDSI_Snow_Cover.md | 2 +- .../config/metadata/layers/modis/terra/MODIS_Terra_Sea_Ice.md | 2 +- .../layers/multi-mission/merged/MEaSUREs_Sea_Ice_Snow_Extent.md | 2 +- .../common/config/metadata/layers/viirs/Chlorophyll_a.md | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/config/default/common/brand/about/acknowledgements.md b/config/default/common/brand/about/acknowledgements.md index e04a1d19d8..248d2f0aff 100644 --- a/config/default/common/brand/about/acknowledgements.md +++ b/config/default/common/brand/about/acknowledgements.md @@ -103,7 +103,7 @@
  • Natural events database is provided by the Earth Observatory Natural Event Tracker (EONET).
  • User-selectable color palettes are primarily derived from: