Commit 42e711e7 by Diana Huang

Update tests and documentation.

parent 1aa3580d
...@@ -756,7 +756,7 @@ class ChemicalEquationInput(InputTypeBase): ...@@ -756,7 +756,7 @@ class ChemicalEquationInput(InputTypeBase):
def handle_ajax(self, dispatch, get): def handle_ajax(self, dispatch, get):
''' '''
Since we only have one ajax handler for this input, check to see if it Since we only have chemcalc preview this input, check to see if it
matches the corresponding dispatch and send it through if it does matches the corresponding dispatch and send it through if it does
''' '''
if dispatch == 'preview_chemcalc': if dispatch == 'preview_chemcalc':
......
...@@ -482,27 +482,43 @@ class ChemicalEquationTest(unittest.TestCase): ...@@ -482,27 +482,43 @@ class ChemicalEquationTest(unittest.TestCase):
''' '''
Check that chemical equation inputs work. Check that chemical equation inputs work.
''' '''
def setUp(self):
def test_rendering(self): self.size = "42"
size = "42" xml_str = """<chemicalequationinput id="prob_1_2" size="{size}"/>""".format(size=self.size)
xml_str = """<chemicalequationinput id="prob_1_2" size="{size}"/>""".format(size=size)
element = etree.fromstring(xml_str) element = etree.fromstring(xml_str)
state = {'value': 'H2OYeah', } state = {'value': 'H2OYeah', }
the_input = lookup_tag('chemicalequationinput')(test_system, element, state) self.the_input = lookup_tag('chemicalequationinput')(test_system, element, state)
context = the_input._get_render_context()
def test_rendering(self):
''' Verify that the render context matches the expected render context'''
context = self.the_input._get_render_context()
expected = {'id': 'prob_1_2', expected = {'id': 'prob_1_2',
'value': 'H2OYeah', 'value': 'H2OYeah',
'status': 'unanswered', 'status': 'unanswered',
'msg': '', 'msg': '',
'size': size, 'size': self.size,
'previewer': '/static/js/capa/chemical_equation_preview.js', 'previewer': '/static/js/capa/chemical_equation_preview.js',
} }
self.assertEqual(context, expected) self.assertEqual(context, expected)
def test_chemcalc_ajax_sucess(self):
''' Verify that using the correct dispatch and valid data produces a valid response'''
data = {'formula': "H"}
response = self.the_input.handle_ajax("preview_chemcalc", data)
self.assertTrue('preview' in response)
self.assertNotEqual(response['preview'], '')
self.assertEqual(response['error'], "")
class DragAndDropTest(unittest.TestCase): class DragAndDropTest(unittest.TestCase):
''' '''
......
...@@ -13,7 +13,9 @@ ...@@ -13,7 +13,9 @@
prev_id = "#" + this.id + "_preview"; prev_id = "#" + this.id + "_preview";
preview_div = $(prev_id); preview_div = $(prev_id);
url = $(this).parents('.problems-wrapper').data('url'); // find the closest parent problems-wrapper and use that url
url = $(this).closest('.problems-wrapper').data('url');
// grab the input id from the input
input_id = $(this).data('input-id') input_id = $(this).data('input-id')
Problem.inputAjax(url, input_id, 'preview_chemcalc', {"formula" : this.value}, create_handler(preview_div)); Problem.inputAjax(url, input_id, 'preview_chemcalc', {"formula" : this.value}, create_handler(preview_div));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment