Commit 18f69f3b by Andy Armstrong

Merge pull request #8536 from edx/diana/handle-hidden-tabs

Ensure that is_hidden does not affect equality checks.
parents 5ceea7a0 72a0d195
......@@ -973,6 +973,24 @@ class CourseMetadataEditingTest(CourseTestCase):
self.assertNotIn(peer_grading_tab, course.tabs)
self.assertNotIn(notes_tab, course.tabs)
def mark_wiki_as_hidden(self, tabs):
""" Mark the wiki tab as hidden. """
for tab in tabs:
if tab.type == 'wiki':
tab['is_hidden'] = True
return tabs
def test_advanced_components_munge_tabs_hidden_tabs(self):
updated_tabs = self.mark_wiki_as_hidden(self.course.tabs)
self.course.tabs = updated_tabs
modulestore().update_item(self.course, self.user.id)
self.client.ajax_post(self.course_setting_url, {
ADVANCED_COMPONENT_POLICY_KEY: {"value": ["notes"]}
})
course = modulestore().get_course(self.course.id)
notes_tab = {"type": "notes", "name": "My Notes"}
self.assertIn(notes_tab, course.tabs)
class CourseGraderUpdatesTest(CourseTestCase):
"""
......
......@@ -138,10 +138,8 @@ class CourseTab(object):
# allow tabs without names; if a name is required, its presence was checked in the validator.
name_is_eq = (other.get('name') is None or self.name == other['name'])
is_hidden_eq = self.is_hidden == other.get('is_hidden', False)
# only compare the persisted/serialized members: 'type' and 'name'
return self.type == other.get('type') and name_is_eq and is_hidden_eq
return self.type == other.get('type') and name_is_eq
def __ne__(self, other):
"""
......
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