Closed asadali145 closed 3 weeks ago
@asadali145 Another thing:
@cachob Could you please review these Screenshots:
Course Page created with API data:
Existing Emeritus Course:
New Emeritus Course created with API data:
Existing Course Run:
New Course Run created with API data:
What are the relevant tickets?
Closes https://github.com/mitodl/hq/issues/4032
Description (What does it do?)
Ingest external course APIs for Emeritus.
This PR ingests the External Course API for Emeritus and creates/updates xPro data like Course, CourseRun, ExternalCoursePage, Topics, WhoShouldEnrollPage, and LearningOutcomesPage.
Here are a few things that are done intentionally:
fetch_emeritus_course_runs
to cater to the success and failure in multi-request cases.Celery beat schedule is pending. I will add that after confirming with Bon.
How can this be tested?
Note: Before reviewing this PR, go through the following things in the linked issue:
Steps Please read all the steps before testing.
./manage.py sync_external_course_runs --vendor_name emeritus
task_sync_emeritus_course_runs
, the task should be successful and it should create or update the required data using the API response.