Update tests and documentation.

This commit is contained in:
Diana Huang
2013-03-06 14:53:13 -05:00
parent 1aa3580dcb
commit 42e711e7d2
3 changed files with 27 additions and 9 deletions

View File

@@ -756,7 +756,7 @@ class ChemicalEquationInput(InputTypeBase):
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
'''
if dispatch == 'preview_chemcalc':

View File

@@ -482,27 +482,43 @@ class ChemicalEquationTest(unittest.TestCase):
'''
Check that chemical equation inputs work.
'''
def test_rendering(self):
size = "42"
xml_str = """<chemicalequationinput id="prob_1_2" size="{size}"/>""".format(size=size)
def setUp(self):
self.size = "42"
xml_str = """<chemicalequationinput id="prob_1_2" size="{size}"/>""".format(size=self.size)
element = etree.fromstring(xml_str)
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',
'value': 'H2OYeah',
'status': 'unanswered',
'msg': '',
'size': size,
'size': self.size,
'previewer': '/static/js/capa/chemical_equation_preview.js',
}
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):
'''

View File

@@ -13,7 +13,9 @@
prev_id = "#" + this.id + "_preview";
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')
Problem.inputAjax(url, input_id, 'preview_chemcalc', {"formula" : this.value}, create_handler(preview_div));