|
@@ -13,6 +13,7 @@ from datetime import datetime, timedelta
|
|
|
from typing import Callable, Iterable, Optional
|
|
|
from unittest.mock import ANY, patch
|
|
|
|
|
|
+import freezegun
|
|
|
import pytest
|
|
|
|
|
|
from taipy.config.common.frequency import Frequency
|
|
@@ -1481,3 +1482,27 @@ def test_get_scenarios_by_config_id_in_multiple_versions_environment():
|
|
|
|
|
|
assert len(_ScenarioManager._get_by_config_id(scenario_config_1.id)) == 3
|
|
|
assert len(_ScenarioManager._get_by_config_id(scenario_config_2.id)) == 2
|
|
|
+
|
|
|
+
|
|
|
+def test_get_scenarios_by_creation_datetime():
|
|
|
+ scenario_config_1 = Config.configure_scenario("s1", sequence_configs=[])
|
|
|
+
|
|
|
+ with freezegun.freeze_time("2024-01-01"):
|
|
|
+ s_1_1 = _ScenarioManager._create(scenario_config_1)
|
|
|
+ with freezegun.freeze_time("2024-01-03"):
|
|
|
+ s_1_2 = _ScenarioManager._create(scenario_config_1)
|
|
|
+ with freezegun.freeze_time("2024-02-01"):
|
|
|
+ s_1_3 = _ScenarioManager._create(scenario_config_1)
|
|
|
+
|
|
|
+ filtered_scenarios = _ScenarioManager._get_by_creation_time(datetime(2024, 1, 1), datetime(2024, 1, 2))
|
|
|
+ assert len(filtered_scenarios) == 1
|
|
|
+ assert [s_1_1] == filtered_scenarios
|
|
|
+
|
|
|
+ # The time period is inclusive
|
|
|
+ filtered_scenarios = _ScenarioManager._get_by_creation_time(datetime(2024, 1, 1), datetime(2024, 1, 3))
|
|
|
+ assert len(filtered_scenarios) == 2
|
|
|
+ assert sorted([s_1_1.id, s_1_2.id]) == sorted([scenario.id for scenario in filtered_scenarios])
|
|
|
+
|
|
|
+ filtered_scenarios = _ScenarioManager._get_by_creation_time(datetime(2023, 1, 1), datetime(2025, 1, 1))
|
|
|
+ assert len(filtered_scenarios) == 3
|
|
|
+ assert sorted([s_1_1.id, s_1_2.id, s_1_3.id]) == sorted([scenario.id for scenario in filtered_scenarios])
|