|
29 | 29 | from pytz import UTC |
30 | 30 | from xblock.fields import Date |
31 | 31 |
|
32 | | -from cms.djangoapps.contentstore import toggles |
33 | | -from cms.djangoapps.contentstore.utils import get_advanced_settings_url, reverse_course_url, reverse_usage_url |
| 32 | +from cms.djangoapps.contentstore.utils import reverse_course_url, reverse_usage_url |
34 | 33 | from cms.djangoapps.models.settings.course_grading import ( |
35 | 34 | GRADING_POLICY_CHANGED_EVENT_TYPE, |
36 | 35 | CourseGradingModel, |
@@ -160,45 +159,17 @@ def test_discussion_fields_available(self, is_pages_and_resources_enabled, |
160 | 159 | self.assertEqual('discussion_topics' in data, fields_visible) # noqa: PT009 |
161 | 160 |
|
162 | 161 | @ddt.data(False, True) |
163 | | - @override_waffle_flag(toggles.LEGACY_STUDIO_IMPORT, True) |
164 | | - @override_waffle_flag(toggles.LEGACY_STUDIO_EXPORT, True) |
165 | 162 | def test_disable_advanced_settings_feature(self, disable_advanced_settings): |
166 | 163 | """ |
167 | | - If this feature is enabled, only Django Staff/Superuser should be able to access the "Advanced Settings" page. |
168 | | - For non-staff users the "Advanced Settings" tab link should not be visible. |
| 164 | + When DISABLE_ADVANCED_SETTINGS is enabled, non-staff users should receive |
| 165 | + a 403 on the advanced settings URL; staff users should always be redirected. |
169 | 166 | """ |
170 | 167 | with override_settings(FEATURES={ |
171 | 168 | 'DISABLE_ADVANCED_SETTINGS': disable_advanced_settings, |
172 | 169 | }, COURSE_AUTHORING_MICROFRONTEND_URL='https://mfe.example'): |
173 | | - advanced_settings_link_html = ( |
174 | | - f'<a href="{get_advanced_settings_url(self.course.id)}">Advanced Settings</a>' |
175 | | - ).encode() |
176 | | - for handler in ( |
177 | | - 'import_handler', |
178 | | - 'export_handler', |
179 | | - ): |
180 | | - # Test that non-staff users don't see the "Advanced Settings" tab link. |
181 | | - response = self.non_staff_client.get_html( |
182 | | - get_url(self.course.id, handler) |
183 | | - ) |
184 | | - self.assertEqual(response.status_code, 200) # noqa: PT009 |
185 | | - if disable_advanced_settings: |
186 | | - self.assertNotIn(advanced_settings_link_html, response.content) # noqa: PT009 |
187 | | - else: |
188 | | - self.assertIn(advanced_settings_link_html, response.content) # noqa: PT009 |
189 | | - |
190 | | - # Test that staff users see the "Advanced Settings" tab link. |
191 | | - response = self.client.get_html( |
192 | | - get_url(self.course.id, handler) |
193 | | - ) |
194 | | - self.assertEqual(response.status_code, 200) # noqa: PT009 |
195 | | - self.assertIn(advanced_settings_link_html, response.content) # noqa: PT009 |
196 | | - |
197 | | - # Test that non-staff users can't access the "Advanced Settings" page. |
198 | 170 | response = self.non_staff_client.get_html(self.course_setting_url) |
199 | 171 | self.assertEqual(response.status_code, 403 if disable_advanced_settings else 302) # noqa: PT009 |
200 | 172 |
|
201 | | - # Test that staff users are redirected to the MFE advanced settings page. |
202 | 173 | response = self.client.get_html(self.course_setting_url) |
203 | 174 | self.assertEqual(response.status_code, 302) # noqa: PT009 |
204 | 175 |
|
|
0 commit comments