From 5f510a8dd5dd1359fc2260056f01428ffb76e966 Mon Sep 17 00:00:00 2001 From: Christopher Pappas Date: Wed, 4 Sep 2019 18:39:16 -0400 Subject: [PATCH] Updating course overview serializer to return string data for has_ended and has_started, and not a bound method Oops meant this to be a bool and not a string type Had to add a start and end date for the course overview test fixture for tests to pass --- .../djangoapps/content/course_overviews/serializers.py | 4 ++-- .../content/course_overviews/tests/factories.py | 9 +++++++++ .../content/course_overviews/tests/test_serializers.py | 3 +++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/openedx/core/djangoapps/content/course_overviews/serializers.py b/openedx/core/djangoapps/content/course_overviews/serializers.py index 69936200f1..8e79d25e68 100644 --- a/openedx/core/djangoapps/content/course_overviews/serializers.py +++ b/openedx/core/djangoapps/content/course_overviews/serializers.py @@ -19,7 +19,7 @@ class CourseOverviewBaseSerializer(serializers.ModelSerializer): def to_representation(self, instance): representation = super(CourseOverviewBaseSerializer, self).to_representation(instance) representation['display_name_with_default'] = instance.display_name_with_default - representation['has_started'] = instance.has_started - representation['has_ended'] = instance.has_ended + representation['has_started'] = instance.has_started() + representation['has_ended'] = instance.has_ended() representation['pacing'] = instance.pacing return representation diff --git a/openedx/core/djangoapps/content/course_overviews/tests/factories.py b/openedx/core/djangoapps/content/course_overviews/tests/factories.py index d344795275..3da5964ffe 100644 --- a/openedx/core/djangoapps/content/course_overviews/tests/factories.py +++ b/openedx/core/djangoapps/content/course_overviews/tests/factories.py @@ -1,5 +1,6 @@ from __future__ import absolute_import +from datetime import datetime, timedelta import json import factory @@ -35,3 +36,11 @@ class CourseOverviewFactory(DjangoModelFactory): @factory.lazy_attribute def display_name(self): return "{} Course".format(self.id) + + @factory.lazy_attribute + def start(self): + return datetime.now() + + @factory.lazy_attribute + def end(self): + return datetime.now() + timedelta(30) diff --git a/openedx/core/djangoapps/content/course_overviews/tests/test_serializers.py b/openedx/core/djangoapps/content/course_overviews/tests/test_serializers.py index 7182f0243e..7dc5d6c1d0 100644 --- a/openedx/core/djangoapps/content/course_overviews/tests/test_serializers.py +++ b/openedx/core/djangoapps/content/course_overviews/tests/test_serializers.py @@ -35,3 +35,6 @@ class TestCourseOverviewSerializer(TestCase): ] for field in fields: assert field in data + + assert isinstance(data['has_started'], bool) + assert isinstance(data['has_ended'], bool)