From bd6d1531266507bc76ed2cc7f6c029a37bfb225a Mon Sep 17 00:00:00 2001 From: Diana Huang Date: Fri, 18 Jan 2013 15:18:13 -0500 Subject: [PATCH 1/2] Fix failing self-assessment unit tests --- .../lib/xmodule/xmodule/tests/test_import.py | 13 ------- .../xmodule/tests/test_self_assessment.py | 39 ++++++++++++++----- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/common/lib/xmodule/xmodule/tests/test_import.py b/common/lib/xmodule/xmodule/tests/test_import.py index 90ec112f19..554e89ac74 100644 --- a/common/lib/xmodule/xmodule/tests/test_import.py +++ b/common/lib/xmodule/xmodule/tests/test_import.py @@ -339,19 +339,6 @@ class ImportTestCase(unittest.TestCase): self.assertRaises(etree.XMLSyntaxError, system.process_xml, bad_xml) - def test_selfassessment_import(self): - ''' - Check to see if definition_from_xml in self_assessment_module.py - works properly. Pulls data from the self_assessment directory in the test data directory. - ''' - - modulestore = XMLModuleStore(DATA_DIR, course_dirs=['self_assessment']) - - sa_id = "edX/sa_test/2012_Fall" - location = Location(["i4x", "edX", "sa_test", "selfassessment", "SampleQuestion"]) - sa_sample = modulestore.get_instance(sa_id, location) - #10 attempts is hard coded into SampleQuestion, which is the url_name of a selfassessment xml tag - self.assertEqual(sa_sample.metadata['attempts'], '10') def test_graphicslidertool_import(self): ''' diff --git a/common/lib/xmodule/xmodule/tests/test_self_assessment.py b/common/lib/xmodule/xmodule/tests/test_self_assessment.py index d89190b1e0..acd127e8fd 100644 --- a/common/lib/xmodule/xmodule/tests/test_self_assessment.py +++ b/common/lib/xmodule/xmodule/tests/test_self_assessment.py @@ -4,8 +4,11 @@ import unittest from xmodule.self_assessment_module import SelfAssessmentModule from xmodule.modulestore import Location +from lxml import etree +import logging from . import test_system +log = logging.getLogger("mitx.courseware") class SelfAssessmentTest(unittest.TestCase): @@ -26,22 +29,40 @@ class SelfAssessmentTest(unittest.TestCase): state = json.dumps({'student_answers': ["Answer 1", "answer 2", "answer 3"], 'scores': [0, 1], 'hints': ['o hai'], - 'state': SelfAssessmentModule.ASSESSING, + 'state': SelfAssessmentModule.INITIAL, 'attempts': 2}) + rubric = ''' + + Response Quality + + + ''' + + prompt = etree.XML("Text") + static_data = { + 'max_attempts': 10, + 'rubric': etree.XML(rubric), + 'prompt': prompt, + 'max_score': 1 + } + module = SelfAssessmentModule(test_system, self.location, self.definition, self.descriptor, - state, {}, metadata=self.metadata) + static_data, state, metadata=self.metadata) self.assertEqual(module.get_score()['score'], 0) - self.assertTrue('answer 3' in module.get_html()) - self.assertFalse('answer 2' in module.get_html()) + html = module.get_html(test_system) + log.debug("rendered html: {0}".format(html)) - module.save_assessment({'assessment': '0'}) - self.assertEqual(module.state, module.REQUEST_HINT) - module.save_hint({'hint': 'hint for ans 3'}) + module.save_answer({'student_answer': "I am an answer"}, test_system) + self.assertEqual(module.state, module.ASSESSING) + + module.save_assessment({'assessment': '0'}, test_system) + self.assertEqual(module.state, module.POST_ASSESSMENT) + module.save_hint({'hint': 'this is a hint'}, test_system) self.assertEqual(module.state, module.DONE) d = module.reset({}) @@ -49,6 +70,6 @@ class SelfAssessmentTest(unittest.TestCase): self.assertEqual(module.state, module.INITIAL) # if we now assess as right, skip the REQUEST_HINT state - module.save_answer({'student_answer': 'answer 4'}) - module.save_assessment({'assessment': '1'}) + module.save_answer({'student_answer': 'answer 4'}, test_system) + module.save_assessment({'assessment': '1'}, test_system) self.assertEqual(module.state, module.DONE) From 89055da8ba261146f5bc5522dbf8f6cdc2cdd941 Mon Sep 17 00:00:00 2001 From: Diana Huang Date: Fri, 18 Jan 2013 15:38:59 -0500 Subject: [PATCH 2/2] Take out useless logging. --- common/lib/xmodule/xmodule/tests/test_self_assessment.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/common/lib/xmodule/xmodule/tests/test_self_assessment.py b/common/lib/xmodule/xmodule/tests/test_self_assessment.py index acd127e8fd..565483c586 100644 --- a/common/lib/xmodule/xmodule/tests/test_self_assessment.py +++ b/common/lib/xmodule/xmodule/tests/test_self_assessment.py @@ -5,10 +5,8 @@ import unittest from xmodule.self_assessment_module import SelfAssessmentModule from xmodule.modulestore import Location from lxml import etree -import logging from . import test_system -log = logging.getLogger("mitx.courseware") class SelfAssessmentTest(unittest.TestCase): @@ -53,9 +51,6 @@ class SelfAssessmentTest(unittest.TestCase): self.assertEqual(module.get_score()['score'], 0) - html = module.get_html(test_system) - log.debug("rendered html: {0}".format(html)) - module.save_answer({'student_answer': "I am an answer"}, test_system) self.assertEqual(module.state, module.ASSESSING)