fix: date picker support date unit with singular and plural (#13330)

* fix: date picker support date unit with singular and plural

* fix grammar
This commit is contained in:
Yongjie Zhao
2021-02-25 17:38:23 +08:00
committed by GitHub
parent 970e473d10
commit 94d0bb9e7f
2 changed files with 10 additions and 2 deletions

View File

@@ -210,11 +210,11 @@ def get_since_until(
lambda unit: f"DATEADD(DATETIME('{_relative_start}'), -1, {unit})",
),
(
r"^last\s+([0-9]+)\s+(second|minute|hour|day|week|month|year)s$",
r"^last\s+([0-9]+)\s+(second|minute|hour|day|week|month|year)s?$",
lambda delta, unit: f"DATEADD(DATETIME('{_relative_start}'), -{int(delta)}, {unit})", # pylint: disable=line-too-long
),
(
r"^next\s+([0-9]+)\s+(second|minute|hour|day|week|month|year)s$",
r"^next\s+([0-9]+)\s+(second|minute|hour|day|week|month|year)s?$",
lambda delta, unit: f"DATEADD(DATETIME('{_relative_end}'), {int(delta)}, {unit})", # pylint: disable=line-too-long
),
(

View File

@@ -88,10 +88,18 @@ class TestDateParser(SupersetTestCase):
expected = datetime(2016, 6, 7), datetime(2016, 11, 7)
self.assertEqual(result, expected)
result = get_since_until("Last 1 month")
expected = datetime(2016, 10, 7), datetime(2016, 11, 7)
self.assertEqual(result, expected)
result = get_since_until("Next 5 months")
expected = datetime(2016, 11, 7), datetime(2017, 4, 7)
self.assertEqual(result, expected)
result = get_since_until("Next 1 month")
expected = datetime(2016, 11, 7), datetime(2016, 12, 7)
self.assertEqual(result, expected)
result = get_since_until(since="5 days")
expected = datetime(2016, 11, 2), datetime(2016, 11, 7)
self.assertEqual(result, expected)