mirror of
https://github.com/apache/superset.git
synced 2026-04-18 15:44:57 +00:00
fix: refine shouldUseLegacyApi and add tests (#10148)
* fix: refine shouldUseLegacyApi and add tests * address review comments
This commit is contained in:
@@ -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;
|
||||
@@ -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);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user