mirror of
https://github.com/apache/superset.git
synced 2026-04-20 16:44:46 +00:00
fix(native-filters): ignore unset filter box time range (#16854)
This commit is contained in:
@@ -47,6 +47,7 @@ from superset.utils.core import (
|
||||
convert_legacy_filters_into_adhoc,
|
||||
create_ssl_cert_file,
|
||||
DTTM_ALIAS,
|
||||
extract_dataframe_dtypes,
|
||||
format_timedelta,
|
||||
GenericDataType,
|
||||
get_form_data_token,
|
||||
@@ -60,10 +61,10 @@ from superset.utils.core import (
|
||||
merge_extra_filters,
|
||||
merge_extra_form_data,
|
||||
merge_request_params,
|
||||
NO_TIME_RANGE,
|
||||
normalize_dttm_col,
|
||||
parse_ssl_cert,
|
||||
parse_js_uri_path_item,
|
||||
extract_dataframe_dtypes,
|
||||
split,
|
||||
TimeRangeEndpoint,
|
||||
validate_json,
|
||||
@@ -850,6 +851,47 @@ class TestUtils(SupersetTestCase):
|
||||
form_data, {"time_range": "Last 10 days", "adhoc_filters": [],},
|
||||
)
|
||||
|
||||
def test_merge_extra_filters_with_unset_legacy_time_range(self):
|
||||
"""
|
||||
Make sure native filter is applied if filter box time range is unset.
|
||||
"""
|
||||
form_data = {
|
||||
"time_range": "Last 10 days",
|
||||
"extra_filters": [
|
||||
{"col": "__time_range", "op": "==", "val": NO_TIME_RANGE},
|
||||
],
|
||||
"extra_form_data": {"time_range": "Last year"},
|
||||
}
|
||||
merge_extra_filters(form_data)
|
||||
self.assertEqual(
|
||||
form_data,
|
||||
{
|
||||
"time_range": "Last year",
|
||||
"applied_time_extras": {},
|
||||
"adhoc_filters": [],
|
||||
},
|
||||
)
|
||||
|
||||
def test_merge_extra_filters_with_conflicting_time_ranges(self):
|
||||
"""
|
||||
Make sure filter box takes precedence if both native filter and filter box
|
||||
time ranges are set.
|
||||
"""
|
||||
form_data = {
|
||||
"time_range": "Last 10 days",
|
||||
"extra_filters": [{"col": "__time_range", "op": "==", "val": "Last week"}],
|
||||
"extra_form_data": {"time_range": "Last year",},
|
||||
}
|
||||
merge_extra_filters(form_data)
|
||||
self.assertEqual(
|
||||
form_data,
|
||||
{
|
||||
"time_range": "Last week",
|
||||
"applied_time_extras": {"__time_range": "Last week"},
|
||||
"adhoc_filters": [],
|
||||
},
|
||||
)
|
||||
|
||||
def test_merge_extra_filters_with_extras(self):
|
||||
form_data = {
|
||||
"time_range": "Last 10 days",
|
||||
|
||||
Reference in New Issue
Block a user