fix test_logic
This commit is contained in:
@@ -3,20 +3,23 @@
|
||||
import json
|
||||
import unittest
|
||||
|
||||
from xmodule.poll_module import PollModule
|
||||
from xmodule.conditional_module import ConditionalModule
|
||||
from xmodule.poll_module import PollDescriptor
|
||||
from xmodule.conditional_module import ConditionalDescriptor
|
||||
|
||||
|
||||
class LogicTest(unittest.TestCase):
|
||||
"""Base class for testing xmodule logic."""
|
||||
xmodule_class = None
|
||||
descriptor_class = None
|
||||
raw_model_data = {}
|
||||
|
||||
def setUp(self):
|
||||
class EmptyClass: pass
|
||||
|
||||
self.system = None
|
||||
self.location = None
|
||||
self.descriptor = None
|
||||
self.descriptor = EmptyClass()
|
||||
|
||||
self.xmodule_class = self.descriptor_class.module_class
|
||||
self.xmodule = self.xmodule_class(self.system, self.location,
|
||||
self.descriptor, self.raw_model_data)
|
||||
|
||||
@@ -25,7 +28,7 @@ class LogicTest(unittest.TestCase):
|
||||
|
||||
|
||||
class PollModuleTest(LogicTest):
|
||||
xmodule_class = PollModule
|
||||
descriptor_class = PollDescriptor
|
||||
raw_model_data = {
|
||||
'poll_answers': {'Yes': 1, 'Dont_know': 0, 'No': 0},
|
||||
'voted': False,
|
||||
@@ -50,16 +53,14 @@ class PollModuleTest(LogicTest):
|
||||
|
||||
|
||||
class ConditionalModuleTest(LogicTest):
|
||||
xmodule_class = ConditionalModule
|
||||
raw_model_data = {
|
||||
'contents': 'Some content'
|
||||
}
|
||||
descriptor_class = ConditionalDescriptor
|
||||
|
||||
def test_ajax_request(self):
|
||||
# Mock is_condition_satisfied
|
||||
self.xmodule.is_condition_satisfied = lambda: True
|
||||
setattr(self.xmodule.descriptor, 'get_children', lambda: [])
|
||||
|
||||
response = self.ajax_request('No', {})
|
||||
html = response['html']
|
||||
|
||||
self.assertEqual(html, 'Some content')
|
||||
self.assertEqual(html, [])
|
||||
|
||||
Reference in New Issue
Block a user