Skip to content

Commit

Permalink
add more _get_dynamic_choices tests, add type definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
PetrDlouhy committed Aug 21, 2022
1 parent 62058d9 commit bddc785
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 3 deletions.
6 changes: 3 additions & 3 deletions admin_tools_stats/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -882,9 +882,9 @@ def get_dynamic_field(self, model):
@memoize(60 * 60 * 24 * 7)
def _get_dynamic_choices(
self,
time_since,
time_until,
count_limit=None,
time_since: datetime.datetime,
time_until: datetime.datetime,
count_limit: int = None,
operation_choice=None,
operation_field_choice=None,
user=None,
Expand Down
40 changes: 40 additions & 0 deletions admin_tools_stats/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,46 @@ def test_criteria_m2m_get_dynamic_criteria_field_name_prefix(self):
result = criteria.get_dynamic_criteria_field_name()
self.assertEqual(result, "related__field_name")

def test__get_dynamic_choices_no_field_name(self):
"""
Test _get_dynamic_choices() function
"""
criteria_m2m = baker.make(
"CriteriaToStatsM2M",
stats__graph_title="Graph",
criteria__criteria_name="Foo",
criteria__dynamic_criteria_field_name="",
stats__model_app_name="auth",
stats__model_name="User",
stats__cache_values=False,
)
result = criteria_m2m._get_dynamic_choices(None, None)
self.assertEqual(result, None)

def test__get_dynamic_choices_time_values(self):
"""
Test _get_dynamic_choices() function
"""
baker.make("User", first_name="user1", last_name="bar_1", date_joined=date(2014, 1, 1))
criteria_m2m = baker.make(
"CriteriaToStatsM2M",
stats__graph_title="Graph",
criteria__criteria_name="Foo",
criteria__dynamic_criteria_field_name="first_name",
stats__model_app_name="auth",
stats__model_name="User",
stats__cache_values=False,
stats__date_field_name="date_joined",
)
result = criteria_m2m._get_dynamic_choices(
datetime(2014, 1, 1, tzinfo=UTC), datetime(2014, 1, 2, tzinfo=UTC)
)
self.assertEqual(result, OrderedDict([("user1", ("user1", "user1"))]))
result = criteria_m2m._get_dynamic_choices(
datetime(2014, 1, 1, tzinfo=None), datetime(2014, 1, 2, tzinfo=None)
)
self.assertEqual(result, OrderedDict([("user1", ("user1", "user1"))]))

def test__get_dynamic_choices_caching(self):
"""
Test _get_dynamic_choices() function
Expand Down

0 comments on commit bddc785

Please sign in to comment.