33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""Test for Poll Xmodule functional logic."""
|
|
from xmodule.poll_module import PollDescriptor
|
|
from . import LogicTest
|
|
|
|
|
|
class PollModuleTest(LogicTest):
|
|
"""Logic tests for Poll Xmodule."""
|
|
descriptor_class = PollDescriptor
|
|
raw_field_data = {
|
|
'poll_answers': {'Yes': 1, 'Dont_know': 0, 'No': 0},
|
|
'voted': False,
|
|
'poll_answer': ''
|
|
}
|
|
|
|
def test_bad_ajax_request(self):
|
|
# Make sure that answer for incorrect request is error json.
|
|
response = self.ajax_request('bad_answer', {})
|
|
self.assertDictEqual(response, {'error': 'Unknown Command!'})
|
|
|
|
def test_good_ajax_request(self):
|
|
# Make sure that ajax request works correctly.
|
|
response = self.ajax_request('No', {})
|
|
|
|
poll_answers = response['poll_answers']
|
|
total = response['total']
|
|
callback = response['callback']
|
|
|
|
self.assertDictEqual(poll_answers, {'Yes': 1, 'Dont_know': 0, 'No': 1})
|
|
self.assertEqual(total, 2)
|
|
self.assertDictEqual(callback, {'objectName': 'Conditional'})
|
|
self.assertEqual(self.xmodule.poll_answer, 'No')
|