From f784455264b9376a20f05760bf6d90d1dc1e7010 Mon Sep 17 00:00:00 2001 From: Kamil Gabryjelski Date: Tue, 4 Oct 2022 13:26:47 +0200 Subject: [PATCH] fix(native-filters): Range filter max/min default display value (#21680) --- .../Range/RangeFilterPlugin.test.tsx | 26 ++++++++++++------- .../components/Range/RangeFilterPlugin.tsx | 4 +-- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/superset-frontend/src/filters/components/Range/RangeFilterPlugin.test.tsx b/superset-frontend/src/filters/components/Range/RangeFilterPlugin.test.tsx index 7dac323d6b13..0a2aac41ba81 100644 --- a/superset-frontend/src/filters/components/Range/RangeFilterPlugin.test.tsx +++ b/superset-frontend/src/filters/components/Range/RangeFilterPlugin.test.tsx @@ -18,7 +18,7 @@ */ import { AppSection, GenericDataType } from '@superset-ui/core'; import React from 'react'; -import { render } from 'spec/helpers/testing-library'; +import { render, screen } from 'spec/helpers/testing-library'; import RangeFilterPlugin from './RangeFilterPlugin'; import { SingleValueType } from './SingleValueType'; import transformProps from './transformProps'; @@ -121,41 +121,49 @@ describe('RangeFilterPlugin', () => { }); it('should call setDataMask with correct greater than filter', () => { - getWrapper({ enableSingleValue: SingleValueType.Minimum }); + getWrapper({ + enableSingleValue: SingleValueType.Minimum, + defaultValue: [20, 60], + }); expect(setDataMask).toHaveBeenCalledWith({ extraFormData: { filters: [ { col: 'SP_POP_TOTL', op: '>=', - val: 70, + val: 20, }, ], }, filterState: { - label: 'x ≥ 70', - value: [70, 100], + label: 'x ≥ 20', + value: [20, 100], }, }); + expect(screen.getByRole('slider')).toHaveAttribute('aria-valuenow', '20'); }); it('should call setDataMask with correct less than filter', () => { - getWrapper({ enableSingleValue: SingleValueType.Maximum }); + getWrapper({ + enableSingleValue: SingleValueType.Maximum, + defaultValue: [20, 60], + }); expect(setDataMask).toHaveBeenCalledWith({ extraFormData: { filters: [ { col: 'SP_POP_TOTL', op: '<=', - val: 70, + val: 60, }, ], }, filterState: { - label: 'x ≤ 70', - value: [10, 70], + label: 'x ≤ 60', + value: [10, 60], }, }); + expect(screen.getByRole('slider')).toHaveAttribute('aria-valuenow', '60'); }); it('should call setDataMask with correct exact filter', () => { diff --git a/superset-frontend/src/filters/components/Range/RangeFilterPlugin.tsx b/superset-frontend/src/filters/components/Range/RangeFilterPlugin.tsx index d2cc9a417132..f3673f223ee2 100644 --- a/superset-frontend/src/filters/components/Range/RangeFilterPlugin.tsx +++ b/superset-frontend/src/filters/components/Range/RangeFilterPlugin.tsx @@ -261,13 +261,13 @@ export default function RangeFilterPlugin(props: PluginFilterRangeProps) { useEffect(() => { if (enableSingleMaxValue) { - handleAfterChange([min, minMax[minIndex]]); + handleAfterChange([min, minMax[maxIndex]]); } }, [enableSingleMaxValue]); useEffect(() => { if (enableSingleMinValue) { - handleAfterChange([minMax[maxIndex], max]); + handleAfterChange([minMax[minIndex], max]); } }, [enableSingleMinValue]);