Updates XBlock renders its own template. Adds expand and collapse JS + jasmine tests.
ECOM-2809
This commit is contained in:
@@ -160,25 +160,13 @@ def _get_index(passed_id=None):
|
||||
return 0
|
||||
|
||||
|
||||
def _get_html(course_updates_items):
|
||||
"""
|
||||
Method to create course_updates_html from course_updates items
|
||||
"""
|
||||
list_items = []
|
||||
for update in reversed(course_updates_items):
|
||||
# filter course update items which have status "deleted".
|
||||
if update.get("status") != CourseInfoModule.STATUS_DELETED:
|
||||
list_items.append(u"<article><h2>{date}</h2>{content}</article>".format(**update))
|
||||
return u"<section>{list_items}</section>".format(list_items="".join(list_items))
|
||||
|
||||
|
||||
def save_course_update_items(location, course_updates, course_update_items, user=None):
|
||||
"""
|
||||
Save list of course_updates data dictionaries in new field ("course_updates.items")
|
||||
and html related to course update in 'data' ("course_updates.data") field.
|
||||
"""
|
||||
course_updates.items = course_update_items
|
||||
course_updates.data = _get_html(course_update_items)
|
||||
course_updates.data = ""
|
||||
|
||||
# update db record
|
||||
modulestore().update_item(course_updates, user.id)
|
||||
|
||||
@@ -173,9 +173,8 @@ class CourseUpdateTest(CourseTestCase):
|
||||
self.assertHTMLEqual(update_content, json.loads(resp.content)['content'])
|
||||
course_updates = modulestore().get_item(location)
|
||||
self.assertEqual(course_updates.items, [{u'date': update_date, u'content': update_content, u'id': 1}])
|
||||
# course_updates 'data' field should update accordingly
|
||||
update_data = u"<section><article><h2>{date}</h2>{content}</article></section>".format(date=update_date, content=update_content)
|
||||
self.assertEqual(course_updates.data, update_data)
|
||||
# course_updates 'data' field should not update automatically
|
||||
self.assertEqual(course_updates.data, '')
|
||||
|
||||
# test delete course update item (soft delete)
|
||||
course_updates = modulestore().get_item(location)
|
||||
|
||||
Reference in New Issue
Block a user