Skip to content
Snippets Groups Projects
Unverified Commit da9a2482 authored by Dillon Dumesnil's avatar Dillon Dumesnil Committed by GitHub
Browse files

Merge pull request #24776 from edx/ddumesnil/turn-off-showanswer-override

Temporarily disable Show Answer Override for self-paced courses
parents 5d33501c c702d129
No related branches found
No related tags found
No related merge requests found
......@@ -53,4 +53,8 @@ class ShowAnswerFieldOverride(FieldOverrideProvider):
@classmethod
def enabled_for(cls, course):
""" Enabled only for Self-Paced courses using Personalized User Schedules. """
return course and course.self_paced and RELATIVE_DATES_FLAG.is_enabled(course.id)
# Returning False while we figure out a bug where Course Level Show Answer settings are not
# being properly applied and are being overridden with AFTER_ALL_ATTEMPTS_OR_CORRECT
# *****IMPORTANT*****: comment the tests back in when this is re-enabled
return False
# return course and course.self_paced and RELATIVE_DATES_FLAG.is_enabled(course.id)
......@@ -34,34 +34,34 @@ class ShowAnswerFieldOverrideTest(ModuleStoreTestCase):
field_data_cache = FieldDataCache([], course.id, self.user)
return get_module(self.user, request, course.location, field_data_cache, course=course)
@ddt.data(True, False)
def test_override_enabled_for(self, active):
with RELATIVE_DATES_FLAG.override(active=active):
# Instructor paced course will just have the default value
ip_course = self.setup_course()
course_module = self.get_course_module(ip_course)
self.assertEqual(course_module.showanswer, SHOWANSWER.FINISHED)
# @ddt.data(True, False)
# def test_override_enabled_for(self, active):
# with RELATIVE_DATES_FLAG.override(active=active):
# # Instructor paced course will just have the default value
# ip_course = self.setup_course()
# course_module = self.get_course_module(ip_course)
# self.assertEqual(course_module.showanswer, SHOWANSWER.FINISHED)
sp_course = self.setup_course(self_paced=True)
course_module = self.get_course_module(sp_course)
if active:
self.assertEqual(course_module.showanswer, SHOWANSWER.AFTER_ALL_ATTEMPTS_OR_CORRECT)
else:
self.assertEqual(course_module.showanswer, SHOWANSWER.FINISHED)
# sp_course = self.setup_course(self_paced=True)
# course_module = self.get_course_module(sp_course)
# if active:
# self.assertEqual(course_module.showanswer, SHOWANSWER.AFTER_ALL_ATTEMPTS_OR_CORRECT)
# else:
# self.assertEqual(course_module.showanswer, SHOWANSWER.FINISHED)
@ddt.data(
(SHOWANSWER.ATTEMPTED, SHOWANSWER.ATTEMPTED_NO_PAST_DUE),
(SHOWANSWER.CLOSED, SHOWANSWER.AFTER_ALL_ATTEMPTS),
(SHOWANSWER.CORRECT_OR_PAST_DUE, SHOWANSWER.ANSWERED),
(SHOWANSWER.FINISHED, SHOWANSWER.AFTER_ALL_ATTEMPTS_OR_CORRECT),
(SHOWANSWER.PAST_DUE, SHOWANSWER.NEVER),
(SHOWANSWER.NEVER, SHOWANSWER.NEVER),
(SHOWANSWER.AFTER_SOME_NUMBER_OF_ATTEMPTS, SHOWANSWER.AFTER_SOME_NUMBER_OF_ATTEMPTS),
(SHOWANSWER.ALWAYS, SHOWANSWER.ALWAYS),
)
@ddt.unpack
@RELATIVE_DATES_FLAG.override(active=True)
def test_get(self, initial_value, expected_final_value):
course = self.setup_course(self_paced=True, showanswer=initial_value)
course_module = self.get_course_module(course)
self.assertEqual(course_module.showanswer, expected_final_value)
# @ddt.data(
# (SHOWANSWER.ATTEMPTED, SHOWANSWER.ATTEMPTED_NO_PAST_DUE),
# (SHOWANSWER.CLOSED, SHOWANSWER.AFTER_ALL_ATTEMPTS),
# (SHOWANSWER.CORRECT_OR_PAST_DUE, SHOWANSWER.ANSWERED),
# (SHOWANSWER.FINISHED, SHOWANSWER.AFTER_ALL_ATTEMPTS_OR_CORRECT),
# (SHOWANSWER.PAST_DUE, SHOWANSWER.NEVER),
# (SHOWANSWER.NEVER, SHOWANSWER.NEVER),
# (SHOWANSWER.AFTER_SOME_NUMBER_OF_ATTEMPTS, SHOWANSWER.AFTER_SOME_NUMBER_OF_ATTEMPTS),
# (SHOWANSWER.ALWAYS, SHOWANSWER.ALWAYS),
# )
# @ddt.unpack
# @RELATIVE_DATES_FLAG.override(active=True)
# def test_get(self, initial_value, expected_final_value):
# course = self.setup_course(self_paced=True, showanswer=initial_value)
# course_module = self.get_course_module(course)
# self.assertEqual(course_module.showanswer, expected_final_value)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment