refactor: reduce certificate django apps dependence on the modulestore (generation_handler)
[MICROBA-1178] - remove modulestore usage in `generation_handler.py` - add duplicate functions that utilize a CourseKey or CourseOverview to remove dependence on modulestore (this will be cleaned up (if possible) at a later part of this refactor) - add python API function to `content`/`course_overview` app that will retrieve a single CourseOverview (rather than a serialized list of dicts of CourseOverview data)
This commit is contained in:
@@ -2,12 +2,18 @@
|
||||
CourseOverview internal api
|
||||
"""
|
||||
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
|
||||
|
||||
from openedx.core.djangoapps.content.course_overviews.serializers import (
|
||||
CourseOverviewBaseSerializer,
|
||||
)
|
||||
|
||||
|
||||
def get_course_overview(course_id):
|
||||
"""
|
||||
Retrieve and return course overview data for the provided course id.
|
||||
"""
|
||||
return CourseOverview.get_from_id(course_id)
|
||||
|
||||
|
||||
def get_course_overviews(course_ids):
|
||||
"""
|
||||
Return course_overview data for a given list of opaque_key course_ids.
|
||||
|
||||
@@ -3,7 +3,7 @@ course_overview api tests
|
||||
"""
|
||||
from django.test import TestCase
|
||||
|
||||
from openedx.core.djangoapps.content.course_overviews.api import get_course_overviews
|
||||
from openedx.core.djangoapps.content.course_overviews.api import get_course_overview, get_course_overviews
|
||||
from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
|
||||
|
||||
from ..models import CourseOverview
|
||||
@@ -19,6 +19,14 @@ class TestCourseOverviewsApi(TestCase):
|
||||
for _ in range(3):
|
||||
CourseOverviewFactory.create()
|
||||
|
||||
def test_get_course_overview(self):
|
||||
"""
|
||||
Test for `get_course_overview` function to retrieve a single course overview.
|
||||
"""
|
||||
course_overview = CourseOverviewFactory.create()
|
||||
retrieved_course_overview = get_course_overview(course_overview.id)
|
||||
assert course_overview.id == retrieved_course_overview.id
|
||||
|
||||
def test_get_course_overviews(self):
|
||||
"""
|
||||
get_course_overviews should return the expected CourseOverview data
|
||||
|
||||
Reference in New Issue
Block a user