diff --git a/web-common/src/features/dashboards/state-managers/loaders/DashboardStateSync.ts b/web-common/src/features/dashboards/state-managers/loaders/DashboardStateSync.ts index 37057cc8fff..093bfb06c32 100644 --- a/web-common/src/features/dashboards/state-managers/loaders/DashboardStateSync.ts +++ b/web-common/src/features/dashboards/state-managers/loaders/DashboardStateSync.ts @@ -167,6 +167,7 @@ export class DashboardStateSync { // Get the updated url params. If we merged state other than the url we would need to navigate to it. const redirectUrl = this.getUrlForExploreState(initExploreState); + console.log(initExploreState); // Update session storage with the initial state updateExploreSessionStore( this.exploreName, diff --git a/web-common/src/features/dashboards/state-managers/loaders/explore-web-view-store.spec.ts b/web-common/src/features/dashboards/state-managers/loaders/explore-web-view-store.spec.ts index 48b1a7f678f..e6643753b46 100644 --- a/web-common/src/features/dashboards/state-managers/loaders/explore-web-view-store.spec.ts +++ b/web-common/src/features/dashboards/state-managers/loaders/explore-web-view-store.spec.ts @@ -190,8 +190,8 @@ describe("Explore web view store", () => { AD_BIDS_APPLY_PUB_DIMENSION_FILTER, AD_BIDS_SET_P7D_TIME_RANGE_FILTER, AD_BIDS_SET_PREVIOUS_PERIOD_COMPARE_TIME_RANGE_FILTER, - AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY, - AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY, + AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY(AD_BIDS_EXPLORE_INIT), + AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY(AD_BIDS_EXPLORE_INIT), AD_BIDS_SORT_ASC_BY_IMPRESSIONS, AD_BIDS_SORT_BY_PERCENT_VALUE, ]); diff --git a/web-common/src/features/dashboards/state-managers/most-recent-explore-state.spec.ts b/web-common/src/features/dashboards/state-managers/most-recent-explore-state.spec.ts index bb7a6432511..725074f3492 100644 --- a/web-common/src/features/dashboards/state-managers/most-recent-explore-state.spec.ts +++ b/web-common/src/features/dashboards/state-managers/most-recent-explore-state.spec.ts @@ -69,8 +69,8 @@ const TestCases: { mutations: [ AD_BIDS_APPLY_PUB_DIMENSION_FILTER, AD_BIDS_SET_P4W_TIME_RANGE_FILTER, - AD_BIDS_TOGGLE_IMPRESSIONS_MEASURE_VISIBILITY, - AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY, + AD_BIDS_TOGGLE_IMPRESSIONS_MEASURE_VISIBILITY(AD_BIDS_EXPLORE_INIT), + AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY(AD_BIDS_EXPLORE_INIT), AD_BIDS_SORT_BY_PERCENT_VALUE, AD_BIDS_SORT_ASC_BY_BID_PRICE, ], diff --git a/web-common/src/features/dashboards/stores/test-data/data.ts b/web-common/src/features/dashboards/stores/test-data/data.ts index 07e2e41da3c..69947dad1f8 100644 --- a/web-common/src/features/dashboards/stores/test-data/data.ts +++ b/web-common/src/features/dashboards/stores/test-data/data.ts @@ -21,6 +21,7 @@ import { import { DashboardState_ActivePage } from "@rilldata/web-common/proto/gen/rill/ui/v1/dashboard_pb"; import { type MetricsViewSpecDimension, + MetricsViewSpecDimensionType, type MetricsViewSpecMeasure, TypeCode, V1ExploreComparisonMode, @@ -50,6 +51,7 @@ export const AD_BIDS_DOMAIN_DIMENSION = "domain"; export const AD_BIDS_COUNTRY_DIMENSION = "country"; export const AD_BIDS_PUBLISHER_IS_NULL_DOMAIN = "publisher_is_null"; export const AD_BIDS_TIMESTAMP_DIMENSION = "timestamp"; +export const AD_BIDS_OFFSET_TIMESTAMP_DIMENSION = "offset_timestamp"; export const AD_BIDS_INIT_MEASURES: MetricsViewSpecMeasure[] = [ { @@ -129,6 +131,34 @@ export const AD_BIDS_THREE_DIMENSIONS: MetricsViewSpecDimension[] = [ dataType: { code: TypeCode.CODE_STRING }, }, ]; +// Exhaustive set of dimensions. TODO: try and replace all instance of partial dimensions +const AD_BIDS_DIMENSIONS: MetricsViewSpecDimension[] = [ + { + name: AD_BIDS_PUBLISHER_DIMENSION, + dataType: { code: TypeCode.CODE_STRING }, + type: MetricsViewSpecDimensionType.DIMENSION_TYPE_CATEGORICAL, + }, + { + name: AD_BIDS_DOMAIN_DIMENSION, + dataType: { code: TypeCode.CODE_STRING }, + type: MetricsViewSpecDimensionType.DIMENSION_TYPE_CATEGORICAL, + }, + { + name: AD_BIDS_COUNTRY_DIMENSION, + dataType: { code: TypeCode.CODE_STRING }, + type: MetricsViewSpecDimensionType.DIMENSION_TYPE_CATEGORICAL, + }, + { + name: AD_BIDS_TIMESTAMP_DIMENSION, + dataType: { code: TypeCode.CODE_TIMESTAMP }, + type: MetricsViewSpecDimensionType.DIMENSION_TYPE_TIME, + }, + { + name: AD_BIDS_OFFSET_TIMESTAMP_DIMENSION, + dataType: { code: TypeCode.CODE_TIMESTAMP }, + type: MetricsViewSpecDimensionType.DIMENSION_TYPE_TIME, + }, +]; const Hour = 1000 * 60 * 60; export const TestTimeConstants = { @@ -210,6 +240,15 @@ export const AD_BIDS_METRICS_3_MEASURES_DIMENSIONS_WITH_TIME: V1MetricsViewSpec timeDimension: AD_BIDS_TIMESTAMP_DIMENSION, }; +// Exhaustive metrics view. TODO: replace usage of partial metrics view +export const AD_BIDS_METRICS_VIEW: V1MetricsViewSpec = { + displayName: AD_BIDS_NAME, + table: AD_BIDS_SOURCE_NAME, + dimensions: AD_BIDS_DIMENSIONS, + measures: AD_BIDS_THREE_MEASURES, + timeDimension: AD_BIDS_TIMESTAMP_DIMENSION, +}; + export const AD_BIDS_EXPLORE_INIT: V1ExploreSpec = { displayName: AD_BIDS_EXPLORE_NAME, metricsView: AD_BIDS_METRICS_NAME, @@ -256,6 +295,13 @@ export const AD_BIDS_EXPLORE_WITH_3_MEASURES_DIMENSIONS: V1ExploreSpec = { dimensions: AD_BIDS_THREE_DIMENSIONS.map((d) => d.name!), }; +// Exhaustive metrics view. TODO: replace usage of partial metrics view +export const AD_BIDS_EXPLORE: V1ExploreSpec = { + metricsView: AD_BIDS_NAME, + dimensions: AD_BIDS_DIMENSIONS.map((d) => d.name!), + measures: AD_BIDS_THREE_MEASURES.map((m) => m.name!), +}; + export const AD_BIDS_PRESET: V1ExplorePreset = { timeRange: "P7D", timezone: "Asia/Kathmandu", diff --git a/web-common/src/features/dashboards/stores/test-data/store-mutations.ts b/web-common/src/features/dashboards/stores/test-data/store-mutations.ts index 3f2ea931e7c..9144b63ce09 100644 --- a/web-common/src/features/dashboards/stores/test-data/store-mutations.ts +++ b/web-common/src/features/dashboards/stores/test-data/store-mutations.ts @@ -55,7 +55,10 @@ import { } from "@rilldata/web-common/lib/time/types"; import { asyncWait } from "@rilldata/web-common/lib/waitUtils.ts"; import { DashboardState_LeaderboardSortType } from "@rilldata/web-common/proto/gen/rill/ui/v1/dashboard_pb"; -import { V1TimeGrain } from "@rilldata/web-common/runtime-client"; +import { + type V1ExploreSpec, + V1TimeGrain, +} from "@rilldata/web-common/runtime-client"; import { setLeaderboardMeasureNames, setLeaderboardSortByMeasureName, @@ -218,38 +221,42 @@ export const AD_BIDS_SET_DOMAIN_COMPARE_DIMENSION: TestDashboardMutation = () => AD_BIDS_DOMAIN_DIMENSION, ); -export const AD_BIDS_TOGGLE_IMPRESSIONS_MEASURE_VISIBILITY: TestDashboardMutation = - (mut) => { - toggleMeasureVisibility( - mut, - AD_BIDS_EXPLORE_INIT.measures!, - AD_BIDS_IMPRESSIONS_MEASURE, - ); - }; -export const AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY: TestDashboardMutation = - (mut) => { - toggleMeasureVisibility( - mut, - AD_BIDS_EXPLORE_INIT.measures!, - AD_BIDS_BID_PRICE_MEASURE, - ); - }; -export const AD_BIDS_TOGGLE_BID_PUBLISHER_DIMENSION_VISIBILITY: TestDashboardMutation = - (mut) => { - toggleDimensionVisibility( - mut, - AD_BIDS_EXPLORE_INIT.dimensions!, - AD_BIDS_PUBLISHER_DIMENSION, - ); - }; -export const AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY: TestDashboardMutation = - (mut) => { - toggleDimensionVisibility( - mut, - AD_BIDS_EXPLORE_INIT.dimensions!, - AD_BIDS_DOMAIN_DIMENSION, - ); - }; +export const AD_BIDS_TOGGLE_IMPRESSIONS_MEASURE_VISIBILITY: ( + exploreSpec: V1ExploreSpec, +) => TestDashboardMutation = (exploreSpec: V1ExploreSpec) => (mut) => { + toggleMeasureVisibility( + mut, + exploreSpec.measures!, + AD_BIDS_IMPRESSIONS_MEASURE, + ); +}; +export const AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY: ( + exploreSpec: V1ExploreSpec, +) => TestDashboardMutation = (exploreSpec: V1ExploreSpec) => (mut) => { + toggleMeasureVisibility( + mut, + exploreSpec.measures!, + AD_BIDS_BID_PRICE_MEASURE, + ); +}; +export const AD_BIDS_TOGGLE_BID_PUBLISHER_DIMENSION_VISIBILITY: ( + exploreSpec: V1ExploreSpec, +) => TestDashboardMutation = (exploreSpec: V1ExploreSpec) => (mut) => { + toggleDimensionVisibility( + mut, + exploreSpec.dimensions!, + AD_BIDS_PUBLISHER_DIMENSION, + ); +}; +export const AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY: ( + exploreSpec: V1ExploreSpec, +) => TestDashboardMutation = (exploreSpec: V1ExploreSpec) => (mut) => { + toggleDimensionVisibility( + mut, + exploreSpec.dimensions!, + AD_BIDS_DOMAIN_DIMENSION, + ); +}; export const AD_BIDS_SORT_DESC_BY_IMPRESSIONS: TestDashboardMutation = ( mut, diff --git a/web-common/src/features/dashboards/url-state/convertURLToExplorePreset.ts b/web-common/src/features/dashboards/url-state/convertURLToExplorePreset.ts index e13d86eb4f4..3ac9c994d7e 100644 --- a/web-common/src/features/dashboards/url-state/convertURLToExplorePreset.ts +++ b/web-common/src/features/dashboards/url-state/convertURLToExplorePreset.ts @@ -66,10 +66,8 @@ export function convertURLToExplorePreset( (m) => m.name!, ); const dimensions = getMapFromArray( - metricsView.dimensions?.filter( - (d) => - explore.dimensions?.includes(d.name!) && - d.type !== "DIMENSION_TYPE_TIME", + metricsView.dimensions?.filter((d) => + explore.dimensions?.includes(d.name!), ) ?? [], (d) => d.name!, ); diff --git a/web-common/src/features/dashboards/url-state/url-state-variations.spec.ts b/web-common/src/features/dashboards/url-state/url-state-variations.spec.ts index bc1f1b7e8ce..a2a87e68457 100644 --- a/web-common/src/features/dashboards/url-state/url-state-variations.spec.ts +++ b/web-common/src/features/dashboards/url-state/url-state-variations.spec.ts @@ -3,11 +3,9 @@ import { metricsExplorerStore } from "@rilldata/web-common/features/dashboards/s import type { ExploreState } from "@rilldata/web-common/features/dashboards/stores/explore-state"; import { AD_BIDS_DIMENSION_TABLE_PRESET, - AD_BIDS_EXPLORE_INIT, + AD_BIDS_EXPLORE, AD_BIDS_EXPLORE_NAME, - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS, - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS_WITH_TIME, - AD_BIDS_METRICS_INIT, + AD_BIDS_METRICS_VIEW, AD_BIDS_PIVOT_PRESET, AD_BIDS_PRESET, AD_BIDS_PUBLISHER_DIMENSION, @@ -252,33 +250,35 @@ const TestCases: { title: "Measures/dimensions visibility with no preset and partially visible measures/dimensions in state", mutations: [ - AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY, - AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY, + AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY(AD_BIDS_EXPLORE), + AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY(AD_BIDS_EXPLORE), ], - expectedSearch: "measures=impressions&dims=publisher", + expectedSearch: + "measures=impressions%2Cpublisher_count&dims=publisher%2Ccountry", }, { title: "Measures/dimensions visibility with no preset and all measures/dimensions visible in state", mutations: [ - AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY, - AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY, + AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY(AD_BIDS_EXPLORE), + AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY(AD_BIDS_EXPLORE), // re-toggle to show - AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY, - AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY, + AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY(AD_BIDS_EXPLORE), + AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY(AD_BIDS_EXPLORE), ], - expectedSearch: "", + expectedSearch: + "measures=impressions%2Cpublisher_count%2Cbid_price&dims=publisher%2Ccountry%2Cdomain", }, { title: "Measures/dimensions visibility with preset and partially visible measures/dimensions in state matching preset", mutations: [ // initially hidden due to preset, show them now. - AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY, - AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY, + AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY(AD_BIDS_EXPLORE), + AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY(AD_BIDS_EXPLORE), // hide them back. - AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY, - AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY, + AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY(AD_BIDS_EXPLORE), + AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY(AD_BIDS_EXPLORE), ], preset: AD_BIDS_PRESET, expectedSearch: @@ -289,20 +289,20 @@ const TestCases: { "Measures/dimensions visibility with preset and all measures/dimensions visible in state not matching preset", mutations: [ // initially hidden due to preset, show them now. - AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY, - AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY, + AD_BIDS_TOGGLE_BID_PRICE_MEASURE_VISIBILITY(AD_BIDS_EXPLORE), + AD_BIDS_TOGGLE_BID_DOMAIN_DIMENSION_VISIBILITY(AD_BIDS_EXPLORE), ], preset: AD_BIDS_PRESET, expectedSearch: - "tr=P7D&tz=Asia%2FKathmandu&compare_tr=rill-PP&grain=day&sort_type=percent&sort_dir=ASC", + "tr=P7D&tz=Asia%2FKathmandu&compare_tr=rill-PP&grain=day&measures=impressions%2Cbid_price&dims=publisher%2Cdomain&sort_type=percent&sort_dir=ASC", }, { title: "Show and hide measures/dimensions", mutations: [ - AD_BIDS_TOGGLE_IMPRESSIONS_MEASURE_VISIBILITY, - AD_BIDS_TOGGLE_IMPRESSIONS_MEASURE_VISIBILITY, - AD_BIDS_TOGGLE_BID_PUBLISHER_DIMENSION_VISIBILITY, - AD_BIDS_TOGGLE_BID_PUBLISHER_DIMENSION_VISIBILITY, + AD_BIDS_TOGGLE_IMPRESSIONS_MEASURE_VISIBILITY(AD_BIDS_EXPLORE), + AD_BIDS_TOGGLE_IMPRESSIONS_MEASURE_VISIBILITY(AD_BIDS_EXPLORE), + AD_BIDS_TOGGLE_BID_PUBLISHER_DIMENSION_VISIBILITY(AD_BIDS_EXPLORE), + AD_BIDS_TOGGLE_BID_PUBLISHER_DIMENSION_VISIBILITY(AD_BIDS_EXPLORE), ], expectedSearch: "measures=bid_price%2Cimpressions&dims=domain%2Cpublisher&sort_by=bid_price", @@ -529,42 +529,49 @@ describe("Human readable URL state variations", () => { }); describe("Should update url state and restore default state on empty params", () => { - for (const { title, mutations, preset, expectedSearch } of TestCases) { + for (const { + title, + mutations, + preset, + expectedSearch, + extraExploreState, + } of TestCases) { it(title, async () => { const explore: V1ExploreSpec = { - ...AD_BIDS_EXPLORE_INIT, + ...AD_BIDS_EXPLORE, ...(preset ? { defaultPreset: preset } : {}), timeZones: ["UTC", "Asia/Kathmandu"], }; metricsExplorerStore.init( AD_BIDS_EXPLORE_NAME, getInitExploreStateForTest( - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS_WITH_TIME, + AD_BIDS_METRICS_VIEW, explore, AD_BIDS_TIME_RANGE_SUMMARY, ), ); const initState = getCleanMetricsExploreForAssertion(); const defaultExploreUrlSearch = getRillDefaultExploreUrlParams( - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS_WITH_TIME, + AD_BIDS_METRICS_VIEW, explore, AD_BIDS_TIME_RANGE_SUMMARY.timeRangeSummary, ); const defaultExplorePreset = getDefaultExplorePreset( explore, - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS_WITH_TIME, + AD_BIDS_METRICS_VIEW, AD_BIDS_TIME_RANGE_SUMMARY.timeRangeSummary, ); await applyMutationsToDashboard(AD_BIDS_EXPLORE_NAME, mutations); + const stateAfterMutations = getCleanMetricsExploreForAssertion(); // load url params with updated metrics state const updateUrlParams = getCleanedUrlParamsForGoto( explore, - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS_WITH_TIME, + AD_BIDS_METRICS_VIEW, get(metricsExplorerStore).entities[AD_BIDS_EXPLORE_NAME], getTimeControlState( - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS_WITH_TIME, + AD_BIDS_METRICS_VIEW, explore, AD_BIDS_TIME_RANGE_SUMMARY.timeRangeSummary, get(metricsExplorerStore).entities[AD_BIDS_EXPLORE_NAME], @@ -584,6 +591,22 @@ describe("Human readable URL state variations", () => { const currentState = getCleanMetricsExploreForAssertion(); // current state should match the initial state expect(currentState).toEqual(initState); + + const url = new URL("http://localhost"); + // load url with the expected search + url.search = expectedSearch; + // get back the state from url params + const { partialExploreState: exploreStateFromUrl } = + convertURLSearchParamsToExploreState( + url.searchParams, + AD_BIDS_METRICS_VIEW, + explore, + defaultExplorePreset, + ); + expect(exploreStateFromUrl).toEqual({ + ...stateAfterMutations, + ...(extraExploreState ?? {}), + }); }); } }); @@ -599,20 +622,20 @@ describe("Human readable URL state variations", () => { if (legacyNotSupported) continue; it(title, async () => { const explore: V1ExploreSpec = { - ...AD_BIDS_EXPLORE_INIT, + ...AD_BIDS_EXPLORE, ...(preset ? { defaultPreset: preset } : {}), }; metricsExplorerStore.init( AD_BIDS_EXPLORE_NAME, getInitExploreStateForTest( - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS, + AD_BIDS_METRICS_VIEW, explore, AD_BIDS_TIME_RANGE_SUMMARY, ), ); const defaultExplorePreset = getDefaultExplorePreset( explore, - AD_BIDS_METRICS_INIT, + AD_BIDS_METRICS_VIEW, AD_BIDS_TIME_RANGE_SUMMARY.timeRangeSummary, ); @@ -630,7 +653,7 @@ describe("Human readable URL state variations", () => { const { partialExploreState: entityFromUrl } = convertURLSearchParamsToExploreState( url.searchParams, - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS, + AD_BIDS_METRICS_VIEW, explore, defaultExplorePreset, ); @@ -644,7 +667,7 @@ describe("Human readable URL state variations", () => { const { partialExploreState: entityFromDefaultUrl } = convertURLSearchParamsToExploreState( defaultUrl.searchParams, - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS, + AD_BIDS_METRICS_VIEW, explore, defaultExplorePreset, ); @@ -659,19 +682,19 @@ describe("Human readable URL state variations", () => { metricsExplorerStore.init( AD_BIDS_EXPLORE_NAME, getInitExploreStateForTest( - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS, - AD_BIDS_EXPLORE_INIT, + AD_BIDS_METRICS_VIEW, + AD_BIDS_EXPLORE, AD_BIDS_TIME_RANGE_SUMMARY, ), ); const defaultExploreUrlSearch = getRillDefaultExploreUrlParams( - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS_WITH_TIME, - AD_BIDS_EXPLORE_INIT, + AD_BIDS_METRICS_VIEW, + AD_BIDS_EXPLORE, AD_BIDS_TIME_RANGE_SUMMARY.timeRangeSummary, ); const defaultExplorePreset = getDefaultExplorePreset( - AD_BIDS_EXPLORE_INIT, - AD_BIDS_METRICS_INIT, + AD_BIDS_EXPLORE, + AD_BIDS_METRICS_VIEW, AD_BIDS_TIME_RANGE_SUMMARY.timeRangeSummary, ); @@ -685,12 +708,12 @@ describe("Human readable URL state variations", () => { // load url params with updated metrics state const url = new URL("http://localhost"); url.search = getCleanedUrlParamsForGoto( - AD_BIDS_EXPLORE_INIT, - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS, + AD_BIDS_EXPLORE, + AD_BIDS_METRICS_VIEW, get(metricsExplorerStore).entities[AD_BIDS_EXPLORE_NAME], getTimeControlState( - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS, - AD_BIDS_EXPLORE_INIT, + AD_BIDS_METRICS_VIEW, + AD_BIDS_EXPLORE, AD_BIDS_TIME_RANGE_SUMMARY.timeRangeSummary, get(metricsExplorerStore).entities[AD_BIDS_EXPLORE_NAME], ), @@ -701,11 +724,11 @@ describe("Human readable URL state variations", () => { // reset the explore state applyURLToExploreState( new URL("http://localhost"), - AD_BIDS_EXPLORE_INIT, + AD_BIDS_EXPLORE, defaultExplorePreset, ); // reapply the compressed url - applyURLToExploreState(url, AD_BIDS_EXPLORE_INIT, defaultExplorePreset); + applyURLToExploreState(url, AD_BIDS_EXPLORE, defaultExplorePreset); const currentState = getCleanMetricsExploreForAssertion(); expect(currentState.selectedTimeRange?.name).toEqual( @@ -726,7 +749,7 @@ export function applyURLToExploreState( const { partialExploreState: partialExploreStateDefaultUrl, errors } = convertURLSearchParamsToExploreState( url.searchParams, - AD_BIDS_METRICS_3_MEASURES_DIMENSIONS, + AD_BIDS_METRICS_VIEW, exploreSpec, defaultExplorePreset, );