Skip to content

Commit

Permalink
fix: refine shouldUseLegacyApi and add tests (#10148)
Browse files Browse the repository at this point in the history
* fix: refine shouldUseLegacyApi and add tests

* address review comments
  • Loading branch information
villebro authored Jun 24, 2020
1 parent 4e71491 commit 38667b7
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 2 deletions.
43 changes: 43 additions & 0 deletions superset-frontend/spec/javascripts/explore/utils_spec.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ import {
buildV1ChartDataPayload,
getExploreUrl,
getExploreLongUrl,
shouldUseLegacyApi,
} from 'src/explore/exploreUtils';
import * as hostNamesConfig from 'src/utils/hostNamesConfig';
import { getChartMetadataRegistry } from '@superset-ui/chart';

describe('exploreUtils', () => {
const location = window.location;
Expand Down Expand Up @@ -202,4 +204,45 @@ describe('exploreUtils', () => {
expect(v1RequestPayload).hasOwnProperty('queries');
});
});

describe('shouldUseLegacyApi', () => {
beforeAll(() => {
getChartMetadataRegistry()
.registerValue('my_legacy_viz', { useLegacyApi: true })
.registerValue('my_v1_viz', { useLegacyApi: false });
});

afterAll(() => {
getChartMetadataRegistry().remove('my_legacy_viz').remove('my_v1_viz');
});

it('returns true for legacy viz', () => {
const useLegacyApi = shouldUseLegacyApi({
...formData,
viz_type: 'my_legacy_viz',
});
expect(useLegacyApi).toBe(true);
});

it('returns false for v1 viz', () => {
const useLegacyApi = shouldUseLegacyApi({
...formData,
viz_type: 'my_v1_viz',
});
expect(useLegacyApi).toBe(false);
});

it('returns false for formData with unregistered viz_type', () => {
const useLegacyApi = shouldUseLegacyApi({
...formData,
viz_type: 'undefined_viz',
});
expect(useLegacyApi).toBe(false);
});

it('returns false for formData without viz_type', () => {
const useLegacyApi = shouldUseLegacyApi(formData);
expect(useLegacyApi).toBe(false);
});
});
});
4 changes: 2 additions & 2 deletions superset-frontend/src/explore/exploreUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,8 @@ export function getExploreUrl({
}

export const shouldUseLegacyApi = formData => {
const { useLegacyApi } = getChartMetadataRegistry().get(formData.viz_type);
return useLegacyApi || false;
const vizMetadata = getChartMetadataRegistry().get(formData.viz_type);
return vizMetadata ? vizMetadata.useLegacyApi : false;
};

export const buildV1ChartDataPayload = ({
Expand Down

0 comments on commit 38667b7

Please sign in to comment.