From 7b2cbfc5c5b8e1f0b1070b440753fbcab425d1ee Mon Sep 17 00:00:00 2001 From: Adam Palay Date: Wed, 2 Apr 2014 15:46:32 -0400 Subject: [PATCH 1/2] make beta dash compute module_state_key like legacy dash (LMS-2491) --- lms/djangoapps/instructor/views/api.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/instructor/views/api.py b/lms/djangoapps/instructor/views/api.py index 75bcc4e416..3e8c618194 100644 --- a/lms/djangoapps/instructor/views/api.py +++ b/lms/djangoapps/instructor/views/api.py @@ -1252,9 +1252,9 @@ def _msk_from_problem_urlname(course_id, urlname): urlname = urlname[:-4] # Combined open ended problems also have state that can be deleted. However, - # appending "problem" will only allow capa problems to be reset. - # Get around this for combinedopenended problems. - if "combinedopenended" not in urlname: + # prepending "problem" will only allow capa problems to be reset. + # Get around this for xblock problems. + if "/" not in urlname: urlname = "problem/" + urlname parts = Location.parse_course_id(course_id) From aefa456ed5975ff2018da8e1ded7883177794804 Mon Sep 17 00:00:00 2001 From: Adam Palay Date: Wed, 2 Apr 2014 16:07:46 -0400 Subject: [PATCH 2/2] add failing tests --- lms/djangoapps/instructor/tests/test_api.py | 23 ++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/instructor/tests/test_api.py b/lms/djangoapps/instructor/tests/test_api.py index 864ddf7756..9a59cdd35c 100644 --- a/lms/djangoapps/instructor/tests/test_api.py +++ b/lms/djangoapps/instructor/tests/test_api.py @@ -1745,9 +1745,26 @@ class TestInstructorAPIHelpers(TestCase): self.assertEqual(_split_input_list(scary_unistuff), [scary_unistuff]) def test_msk_from_problem_urlname(self): - args = ('MITx/6.002x/2013_Spring', 'L2Node1') - output = 'i4x://MITx/6.002x/problem/L2Node1' - self.assertEqual(_msk_from_problem_urlname(*args), output) + course_id = 'RobotU/Robots101/3001_Spring' + capa_urlname = 'capa_urlname' + capa_urlname_xml = 'capa_urlname.xml' + xblock_urlname = 'notaproblem/someothername' + xblock_urlname_xml = 'notaproblem/someothername.xml' + + capa_msk = 'i4x://RobotU/Robots101/problem/capa_urlname' + xblock_msk = 'i4x://RobotU/Robots101/notaproblem/someothername' + + for urlname in [capa_urlname, capa_urlname_xml]: + self.assertEqual( + _msk_from_problem_urlname(course_id, urlname), + capa_msk + ) + + for urlname in [xblock_urlname, xblock_urlname_xml]: + self.assertEqual( + _msk_from_problem_urlname(course_id, urlname), + xblock_msk + ) @raises(ValueError) def test_msk_from_problem_urlname_error(self):