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:
simcha90
2021-04-15 17:43:29 +03:00
committed by GitHub
parent 68e11cd47f
commit 8ef572a412
78 changed files with 1536 additions and 958 deletions

View File

@@ -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: [],
},
},
};

View File

@@ -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 {

View File

@@ -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: [],
});
});
});