Commit 545701d5 by Greg Price

Add forum utility code unit test coverage

This is in preparation for significant refactoring of the code in
question.
parent 54ad4110
...@@ -70,10 +70,10 @@ def get_discussion_id_map(course): ...@@ -70,10 +70,10 @@ def get_discussion_id_map(course):
def get_discussion_category_map(course): def get_discussion_category_map(course):
initialize_discussion_info(course) initialize_discussion_info(course)
return filter_unstarted_categories(_DISCUSSIONINFO[course.id]['category_map']) return _filter_unstarted_categories(_DISCUSSIONINFO[course.id]['category_map'])
def filter_unstarted_categories(category_map): def _filter_unstarted_categories(category_map):
now = datetime.now(UTC()) now = datetime.now(UTC())
...@@ -111,7 +111,7 @@ def filter_unstarted_categories(category_map): ...@@ -111,7 +111,7 @@ def filter_unstarted_categories(category_map):
return result_map return result_map
def sort_map_entries(category_map, sort_alpha): def _sort_map_entries(category_map, sort_alpha):
things = [] things = []
for title, entry in category_map["entries"].items(): for title, entry in category_map["entries"].items():
if entry["sort_key"] == None and sort_alpha: if entry["sort_key"] == None and sort_alpha:
...@@ -119,7 +119,7 @@ def sort_map_entries(category_map, sort_alpha): ...@@ -119,7 +119,7 @@ def sort_map_entries(category_map, sort_alpha):
things.append((title, entry)) things.append((title, entry))
for title, category in category_map["subcategories"].items(): for title, category in category_map["subcategories"].items():
things.append((title, category)) things.append((title, category))
sort_map_entries(category_map["subcategories"][title], sort_alpha) _sort_map_entries(category_map["subcategories"][title], sort_alpha)
category_map["children"] = [x[0] for x in sorted(things, key=lambda x: x[1]["sort_key"])] category_map["children"] = [x[0] for x in sorted(things, key=lambda x: x[1]["sort_key"])]
...@@ -199,7 +199,7 @@ def initialize_discussion_info(course): ...@@ -199,7 +199,7 @@ def initialize_discussion_info(course):
"sort_key": entry.get("sort_key", topic), "sort_key": entry.get("sort_key", topic),
"start_date": datetime.now(UTC())} "start_date": datetime.now(UTC())}
sort_map_entries(category_map, course.discussion_sort_alpha) _sort_map_entries(category_map, course.discussion_sort_alpha)
_DISCUSSIONINFO[course.id]['id_map'] = discussion_id_map _DISCUSSIONINFO[course.id]['id_map'] = discussion_id_map
_DISCUSSIONINFO[course.id]['category_map'] = category_map _DISCUSSIONINFO[course.id]['category_map'] = category_map
......
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