Merge branch 'master' into alfredoguillem/enterprise-bump

This commit is contained in:
Alfredo Guillem
2022-09-27 20:47:05 +02:00
committed by GitHub
3 changed files with 19 additions and 11 deletions

View File

@@ -48,7 +48,7 @@ class CourseProviderSerializer(serializers.Serializer):
class CourseSerializer(serializers.Serializer): class CourseSerializer(serializers.Serializer):
"""Course header information, derived from a CourseOverview""" """Course header information, derived from a CourseOverview"""
bannerImgSrc = serializers.URLField(source="banner_image_url") bannerImgSrc = serializers.URLField(source="image_urls.small")
courseName = serializers.CharField(source="display_name_with_default") courseName = serializers.CharField(source="display_name_with_default")
courseNumber = serializers.CharField(source="display_number_with_default") courseNumber = serializers.CharField(source="display_number_with_default")
@@ -407,9 +407,6 @@ class LearnerEnrollmentSerializer(serializers.Serializer):
gradeData = GradeDataSerializer(source="*") gradeData = GradeDataSerializer(source="*")
programs = serializers.SerializerMethodField() programs = serializers.SerializerMethodField()
# TODO - remove "allow_null" as each of these are implemented, temp for testing.
courseProvider = CourseProviderSerializer(allow_null=True)
def get_entitlement(self, instance): def get_entitlement(self, instance):
""" """
If this enrollment is the fulfillment of an entitlement, include information about the entitlement If this enrollment is the fulfillment of an entitlement, include information about the entitlement
@@ -537,7 +534,10 @@ class EnterpriseDashboardSerializer(serializers.Serializer):
url = serializers.SerializerMethodField() url = serializers.SerializerMethodField()
def get_url(self, instance): def get_url(self, instance):
return urljoin(settings.ENTERPRISE_LEARNER_PORTAL_BASE_URL, instance["uuid"]) return urljoin(
settings.ENTERPRISE_LEARNER_PORTAL_BASE_URL,
instance["slug"],
)
class LearnerDashboardSerializer(serializers.Serializer): class LearnerDashboardSerializer(serializers.Serializer):

View File

@@ -51,6 +51,7 @@ from lms.djangoapps.learner_home.test_utils import (
datetime_to_django_format, datetime_to_django_format,
random_bool, random_bool,
random_date, random_date,
random_string,
random_url, random_url,
) )
from xmodule.data import CertificatesDisplayBehaviors from xmodule.data import CertificatesDisplayBehaviors
@@ -991,15 +992,17 @@ class TestEnterpriseDashboardSerializer(TestCase):
"""High-level tests for EnterpriseDashboardSerializer""" """High-level tests for EnterpriseDashboardSerializer"""
@classmethod @classmethod
def generate_test_data(cls): def generate_test_enterprise_customer(cls):
return { return {
"name": random_string(),
"slug": str(uuid4()),
"enable_learner_portal": True,
"uuid": str(uuid4()), "uuid": str(uuid4()),
"name": str(uuid4()),
} }
def test_structure(self): def test_structure(self):
"""Test that nothing breaks and the output fields look correct""" """Test that nothing breaks and the output fields look correct"""
input_data = self.generate_test_data() input_data = self.generate_test_enterprise_customer()
output_data = EnterpriseDashboardSerializer(input_data).data output_data = EnterpriseDashboardSerializer(input_data).data
@@ -1007,12 +1010,12 @@ class TestEnterpriseDashboardSerializer(TestCase):
"label", "label",
"url", "url",
] ]
assert output_data.keys() == set(expected_keys) self.assertEqual(output_data.keys(), set(expected_keys))
def test_happy_path(self): def test_happy_path(self):
"""Test that data serializes correctly""" """Test that data serializes correctly"""
input_data = self.generate_test_data() input_data = self.generate_test_enterprise_customer()
output_data = EnterpriseDashboardSerializer(input_data).data output_data = EnterpriseDashboardSerializer(input_data).data
@@ -1022,7 +1025,7 @@ class TestEnterpriseDashboardSerializer(TestCase):
"label": input_data["name"], "label": input_data["name"],
"url": settings.ENTERPRISE_LEARNER_PORTAL_BASE_URL "url": settings.ENTERPRISE_LEARNER_PORTAL_BASE_URL
+ "/" + "/"
+ input_data["uuid"], + input_data["slug"],
}, },
) )

View File

@@ -15,6 +15,11 @@ from openedx.core.djangoapps.content.course_overviews.tests.factories import (
from xmodule.modulestore.tests.factories import CourseFactory from xmodule.modulestore.tests.factories import CourseFactory
def random_string():
"""Test util for generating a random string"""
return str(uuid4())
def random_bool(): def random_bool():
"""Test util for generating a random boolean""" """Test util for generating a random boolean"""
return bool(getrandbits(1)) return bool(getrandbits(1))