mirror of
https://github.com/apache/superset.git
synced 2026-04-23 10:04:45 +00:00
refactor(native-filters): update dataMask and ExtraFormData schema (#13983)
* refactor: updates usage of `ownFilters` to `ownState` * refactor: update dataMask (final) * lint: fix lint * refactor: revert feat * fix: fix missed chart configuration * add filter set migration * apply new changes * fix migration revision * update migration * fix jest mock * js lint * fix test types * update tests and types * remove append_form_data from tests * fix findExistingFilterSet tests * add migration test Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
This commit is contained in:
@@ -16,18 +16,15 @@
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import { DataMaskStateWithId, DataMaskType } from 'src/dataMask/types';
|
||||
import { DataMaskStateWithId } from 'src/dataMask/types';
|
||||
import { NativeFiltersState } from 'src/dashboard/reducers/types';
|
||||
|
||||
export const mockDataMaskInfo: DataMaskStateWithId = {
|
||||
[DataMaskType.CrossFilters]: {},
|
||||
[DataMaskType.OwnFilters]: {},
|
||||
[DataMaskType.NativeFilters]: {
|
||||
DefaultsID: {
|
||||
id: 'DefaultId',
|
||||
currentState: {
|
||||
value: [],
|
||||
},
|
||||
DefaultsID: {
|
||||
id: 'DefaultId',
|
||||
ownState: {},
|
||||
filterState: {
|
||||
value: [],
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -64,14 +64,11 @@ describe('getFormDataWithExtraFilters', () => {
|
||||
},
|
||||
},
|
||||
dataMask: {
|
||||
crossFilters: {},
|
||||
ownFilters: {},
|
||||
nativeFilters: {
|
||||
[filterId]: {
|
||||
id: filterId,
|
||||
extraFormData: {},
|
||||
currentState: {},
|
||||
},
|
||||
[filterId]: {
|
||||
id: filterId,
|
||||
extraFormData: {},
|
||||
filterState: {},
|
||||
ownState: {},
|
||||
},
|
||||
},
|
||||
layout: (dashboardLayout.present as unknown) as {
|
||||
|
||||
@@ -35,64 +35,56 @@ describe('Filter utils', () => {
|
||||
describe('getRangeExtraFormData', () => {
|
||||
it('getRangeExtraFormData - col: "testCol", lower: 1, upper: 2', () => {
|
||||
expect(getRangeExtraFormData('testCol', 1, 2)).toEqual({
|
||||
append_form_data: {
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '>=',
|
||||
val: 1,
|
||||
},
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '<=',
|
||||
val: 2,
|
||||
},
|
||||
],
|
||||
},
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '>=',
|
||||
val: 1,
|
||||
},
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '<=',
|
||||
val: 2,
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
it('getRangeExtraFormData - col: "testCol", lower: 0, upper: 0', () => {
|
||||
expect(getRangeExtraFormData('testCol', 0, 0)).toEqual({
|
||||
append_form_data: {
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '>=',
|
||||
val: 0,
|
||||
},
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '<=',
|
||||
val: 0,
|
||||
},
|
||||
],
|
||||
},
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '>=',
|
||||
val: 0,
|
||||
},
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '<=',
|
||||
val: 0,
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
it('getRangeExtraFormData - col: "testCol", lower: null, upper: 2', () => {
|
||||
expect(getRangeExtraFormData('testCol', null, 2)).toEqual({
|
||||
append_form_data: {
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '<=',
|
||||
val: 2,
|
||||
},
|
||||
],
|
||||
},
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '<=',
|
||||
val: 2,
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
it('getRangeExtraFormData - col: "testCol", lower: 1, upper: undefined', () => {
|
||||
expect(getRangeExtraFormData('testCol', 1, undefined)).toEqual({
|
||||
append_form_data: {
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '>=',
|
||||
val: 1,
|
||||
},
|
||||
],
|
||||
},
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: '>=',
|
||||
val: 1,
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -101,68 +93,56 @@ describe('Filter utils', () => {
|
||||
expect(
|
||||
getSelectExtraFormData('testCol', ['value'], false, false),
|
||||
).toEqual({
|
||||
append_form_data: {
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: 'IN',
|
||||
val: ['value'],
|
||||
},
|
||||
],
|
||||
},
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: 'IN',
|
||||
val: ['value'],
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
it('getSelectExtraFormData - col: "testCol", value: ["value"], emptyFilter: true, inverseSelection: false', () => {
|
||||
expect(getSelectExtraFormData('testCol', ['value'], true, false)).toEqual(
|
||||
{
|
||||
append_form_data: {
|
||||
adhoc_filters: [
|
||||
{
|
||||
clause: 'WHERE',
|
||||
expressionType: 'SQL',
|
||||
sqlExpression: '1 = 0',
|
||||
},
|
||||
],
|
||||
},
|
||||
adhoc_filters: [
|
||||
{
|
||||
clause: 'WHERE',
|
||||
expressionType: 'SQL',
|
||||
sqlExpression: '1 = 0',
|
||||
},
|
||||
],
|
||||
},
|
||||
);
|
||||
});
|
||||
it('getSelectExtraFormData - col: "testCol", value: ["value"], emptyFilter: false, inverseSelection: true', () => {
|
||||
expect(getSelectExtraFormData('testCol', ['value'], false, true)).toEqual(
|
||||
{
|
||||
append_form_data: {
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: 'NOT IN',
|
||||
val: ['value'],
|
||||
},
|
||||
],
|
||||
},
|
||||
filters: [
|
||||
{
|
||||
col: 'testCol',
|
||||
op: 'NOT IN',
|
||||
val: ['value'],
|
||||
},
|
||||
],
|
||||
},
|
||||
);
|
||||
});
|
||||
it('getSelectExtraFormData - col: "testCol", value: [], emptyFilter: false, inverseSelection: false', () => {
|
||||
expect(getSelectExtraFormData('testCol', [], false, false)).toEqual({
|
||||
append_form_data: {
|
||||
filters: [],
|
||||
},
|
||||
filters: [],
|
||||
});
|
||||
});
|
||||
it('getSelectExtraFormData - col: "testCol", value: undefined, emptyFilter: false, inverseSelection: false', () => {
|
||||
expect(
|
||||
getSelectExtraFormData('testCol', undefined, false, false),
|
||||
).toEqual({
|
||||
append_form_data: {
|
||||
filters: [],
|
||||
},
|
||||
filters: [],
|
||||
});
|
||||
});
|
||||
it('getSelectExtraFormData - col: "testCol", value: null, emptyFilter: false, inverseSelection: false', () => {
|
||||
expect(getSelectExtraFormData('testCol', null, false, false)).toEqual({
|
||||
append_form_data: {
|
||||
filters: [],
|
||||
},
|
||||
filters: [],
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user