Simplify test_only_expected_fields_are_displayed

Use sets to accomplish the same result.
This commit is contained in:
David Baumgold
2015-04-15 13:11:27 -04:00
parent 04ca163f82
commit c07ce2ad9e

View File

@@ -397,10 +397,17 @@ class AdvancedSettingsValidationTest(StudioCourseTest):
When I view the Advanced Settings screen for the course
The total number of fields displayed matches the number I expect
And the actual fields displayed match the fields I expect to see
Note that this test will NOT fail if fields that we expect to see are
not displayed, only if fields show up that we did not expect to see.
"""
expected_fields = self.advanced_settings.expected_settings_names
displayed_fields = self.advanced_settings.displayed_settings_names
self.assertEqual(len(expected_fields), len(displayed_fields))
for field in displayed_fields:
if field not in expected_fields:
self.fail("Field '{}' not expected for Advanced Settings display.".format(field))
unexpectedly_displayed = set(displayed_fields) - set(expected_fields)
self.assertEquals(
len(unexpectedly_displayed),
0,
"The following fields were unexpectedly displayed: {fields}".format(
fields=", ".join(unexpectedly_displayed)
)
)