Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit 8cdacb7

Browse files
committed
Use date instead of datetime in ModuleEngagementMetricRanges.
1 parent 0bc468a commit 8cdacb7

4 files changed

Lines changed: 9 additions & 10 deletions

File tree

analytics_data_api/management/commands/generate_fake_course_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,5 +270,5 @@ def handle(self, *args, **options):
270270
self.generate_video_data(course_id, video_id, video_module_id)
271271
self.generate_video_timeline_data(video_id)
272272
self.generate_learner_engagement_data(course_id, username, start_date, end_date)
273-
self.generate_learner_engagement_range_data(course_id, start_date, end_date)
273+
self.generate_learner_engagement_range_data(course_id, start_date.date(), end_date.date())
274274
self.generate_tags_distribution_data(course_id)

analytics_data_api/v0/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -495,9 +495,9 @@ class ModuleEngagementMetricRanges(models.Model):
495495
"""
496496

497497
course_id = models.CharField(db_index=True, max_length=255)
498-
start_date = models.DateTimeField()
498+
start_date = models.DateField()
499499
# This is a left-closed interval. No data from the end_date is included in the analysis.
500-
end_date = models.DateTimeField()
500+
end_date = models.DateField()
501501
metric = models.CharField(max_length=50)
502502
range_type = models.CharField(max_length=50)
503503
# Also a left-closed interval, so any metric whose value is equal to the high_value

analytics_data_api/v0/serializers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -447,8 +447,8 @@ def get_videos_viewed(self, obj):
447447

448448
# pylint: disable=abstract-method
449449
class DateRangeSerializer(serializers.Serializer):
450-
start = serializers.DateTimeField(source='start_date', format=settings.DATE_FORMAT)
451-
end = serializers.DateTimeField(source='end_date', format=settings.DATE_FORMAT)
450+
start = serializers.DateField(source='start_date', format=settings.DATE_FORMAT)
451+
end = serializers.DateField(source='end_date', format=settings.DATE_FORMAT)
452452

453453

454454
# pylint: disable=abstract-method

analytics_data_api/v0/tests/views/test_learners.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from django_dynamic_fixture import G
1111
from elasticsearch import Elasticsearch
1212
from mock import patch, Mock
13-
import pytz
1413
from rest_framework import status
1514

1615
from django.conf import settings
@@ -784,8 +783,8 @@ def test_no_engagement_ranges(self):
784783

785784
def test_one_engagement_range(self):
786785
metric_type = 'problems_completed'
787-
start_date = datetime.datetime(2015, 7, 1, tzinfo=pytz.utc)
788-
end_date = datetime.datetime(2015, 7, 21, tzinfo=pytz.utc)
786+
start_date = datetime.date(2015, 7, 1)
787+
end_date = datetime.date(2015, 7, 21)
789788
G(ModuleEngagementMetricRanges, course_id=self.course_id, start_date=start_date, end_date=end_date,
790789
metric=metric_type, range_type='normal', low_value=90, high_value=6120)
791790
expected_ranges = self.empty_engagement_ranges
@@ -807,8 +806,8 @@ def test_one_engagement_range(self):
807806

808807
def _get_full_engagement_ranges(self):
809808
""" Populates a full set of engagement ranges and returns the expected engagement ranges. """
810-
start_date = datetime.datetime(2015, 7, 1, tzinfo=pytz.utc)
811-
end_date = datetime.datetime(2015, 7, 21, tzinfo=pytz.utc)
809+
start_date = datetime.date(2015, 7, 1)
810+
end_date = datetime.date(2015, 7, 21)
812811

813812
expected = {
814813
'engagement_ranges': {

0 commit comments

Comments
 (0)