def test_new_assets_page_feature_flags(self, global_flag, enabled_for_all_courses, enabled_for_course_1): with new_assets_page_feature_flags( global_flag=global_flag, enabled_for_all_courses=enabled_for_all_courses, course_id=self.course_id_1, enabled_for_course=enabled_for_course_1 ): self.assertEqual(NewAssetsPageFlag.feature_enabled(), global_flag and enabled_for_all_courses) self.assertEqual( NewAssetsPageFlag.feature_enabled(self.course_id_1), global_flag and (enabled_for_all_courses or enabled_for_course_1) ) self.assertEqual( NewAssetsPageFlag.feature_enabled(self.course_id_2), global_flag and enabled_for_all_courses )
def test_enable_disable_course_flag(self): """ Ensures that the flag, once enabled for a course, can also be disabled. """ with new_assets_page_feature_flags(global_flag=True, enabled_for_all_courses=False, course_id=self.course_id_1, enabled_for_course=True): self.assertTrue(NewAssetsPageFlag.feature_enabled( self.course_id_1)) with new_assets_page_feature_flags(global_flag=True, enabled_for_all_courses=False, course_id=self.course_id_1, enabled_for_course=False): self.assertFalse( NewAssetsPageFlag.feature_enabled(self.course_id_1))
def test_enable_disable_course_flag(self): """ Ensures that the flag, once enabled for a course, can also be disabled. """ with new_assets_page_feature_flags( global_flag=True, enabled_for_all_courses=False, course_id=self.course_id_1, enabled_for_course=True ): self.assertTrue(NewAssetsPageFlag.feature_enabled(self.course_id_1)) with new_assets_page_feature_flags( global_flag=True, enabled_for_all_courses=False, course_id=self.course_id_1, enabled_for_course=False ): self.assertFalse(NewAssetsPageFlag.feature_enabled(self.course_id_1))
def _asset_index(course_key): ''' Display an editable asset library. Supports start (0-based index into the list of assets) and max query parameters. ''' course_module = modulestore().get_course(course_key) return render_to_response('asset_index.html', { 'waffle_flag_enabled': NewAssetsPageFlag.feature_enabled(course_key), 'context_course': course_module, 'max_file_size_in_mbs': settings.MAX_ASSET_UPLOAD_FILE_SIZE_IN_MB, 'chunk_size_in_mbs': settings.UPLOAD_CHUNK_SIZE_IN_MB, 'max_file_size_redirect_url': settings.MAX_ASSET_UPLOAD_FILE_SIZE_URL, 'asset_callback_url': reverse_course_url('assets_handler', course_key) })