Commit 7dab67de by Renzo Lucioni Committed by GitHub

Ingest the hidden field from Drupal if the partner has a marketing site. (#339)

ECOM-5688.
parent 2abcd409
......@@ -426,6 +426,11 @@ class CourseMarketingSiteDataLoader(AbstractMarketingSiteDataLoader):
self_paced = data.get('field_course_self_paced', False)
return CourseRunPacing.Self if self_paced else CourseRunPacing.Instructor
def get_hidden(self, data):
# 'couse' [sic]. The field is misspelled on Drupal. ಠ_ಠ
hidden = data.get('field_couse_is_hidden', False)
return hidden is True
def create_course_run(self, course, data):
uuid = data['uuid']
key = data['field_course_id']
......@@ -446,6 +451,7 @@ class CourseMarketingSiteDataLoader(AbstractMarketingSiteDataLoader):
'status': self.get_course_run_status(data),
'start': start,
'pacing_type': self.get_pacing_type(data),
'hidden': self.get_hidden(data),
}
try:
......
......@@ -372,6 +372,22 @@ class CourseMarketingSiteDataLoaderTests(AbstractMarketingSiteDataLoaderTestMixi
self.assertEqual(self.loader.get_course_run_status(data), expected)
@ddt.data(
(True, True),
('foo', False),
('', False),
(None, False),
)
@ddt.unpack
def test_get_hidden(self, hidden, expected):
"""Verify that the get_hidden method returns the correct Boolean value."""
data = {'field_couse_is_hidden': hidden}
self.assertEqual(self.loader.get_hidden(data), expected)
def test_get_hidden_missing(self):
"""Verify that the get_hidden method can cope with a missing field."""
self.assertEqual(self.loader.get_hidden({}), False)
@ddt.data(
{'field_course_body': {'value': 'Test'}},
{'field_course_description': {'value': 'Test'}},
{'field_course_description': {'value': 'Test2'}, 'field_course_body': {'value': 'Test'}},
......@@ -464,6 +480,7 @@ class CourseMarketingSiteDataLoaderTests(AbstractMarketingSiteDataLoaderTestMixi
'status': self.loader.get_course_run_status(data),
'start': start,
'pacing_type': self.loader.get_pacing_type(data),
'hidden': self.loader.get_hidden(data),
}
for field, value in expected_values.items():
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment