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

Ensure that is_hidden does not affect equality checks.
This commit is contained in:
Andy Armstrong
2015-06-16 17:04:04 -04:00
2 changed files with 19 additions and 3 deletions

View File

@@ -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):
"""

View File

@@ -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):
"""