diff options
Diffstat (limited to 'webapp/polls/tests.py')
-rw-r--r-- | webapp/polls/tests.py | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/webapp/polls/tests.py b/webapp/polls/tests.py deleted file mode 100644 index ed15c18..0000000 --- a/webapp/polls/tests.py +++ /dev/null @@ -1,214 +0,0 @@ -# -*- encoding: utf-8 -*- -from django.test import TestCase - -from polls.models import Field, Group, Structure, Option, WIDGET_TYPES - - -class FieldsTests(TestCase): - - def setUp(self): - self.field = Field( - key='0001', - name='field_0', - widget_type='TextInput', - ) - - def test_basic_field(self): - - self.assertEqual('0001', self.field.key) - self.assertEqual('field_0', self.field.name) - self.assertEqual('TextInput', self.field.widget_type) - - def test_invalid_widget_type(self): - field_factory = lambda: Field( - key="0001", - name='field_0', - widget_type='bad_widget_type', - ) - - self.assertRaises(AttributeError, field_factory) - - def test_valid_widget_types(self): - for widget_type in dict(WIDGET_TYPES).keys(): - field = Field( - key='0001', - name='field_0', - widget_type=widget_type, - ) - self.assertTrue(field) - - def test_add_dependence(self): - dependence = '414541212' - self.field.add_dependence(dependence) - - self.assertEqual(dependence, self.field.dependence) - - def test_from_dict(self): - dependence = '343523523' - data = { - 'widget_type': 'MultipleCheckBox', - 'name': 'field_0', - 'dependence': dependence - } - field = Field.from_dict(data) - - self.assertEqual('field_0', field.name) - self.assertEqual('MultipleCheckBox', field.widget_type) - self.assertEqual(dependence, field.dependence) - - def test_add_options(self): - data = { - 'widget_type': 'MultipleCheckBox', - 'name': 'field_0', - } - field = Field.from_dict(data) - - options_data = { - '1': {'text': None}, - '2': {'text': None}, - '3': {'text': 'test', 'enable': '0001'} - } - field.add_options(options_data) - - self.assertEqual(1, len(field.options)) - - def test_validate(self): - - self.field.widget_type = "MultipleCheckBox" - - self.assertRaises(Field.ValidationError, self.field.validate) - self.assertEqual(1, len(self.field.errors)) - - self.field.widget_type = "RadioButton" - - self.assertRaises(Field.ValidationError, self.field.validate) - self.assertEqual(1, len(self.field.errors)) - - self.field.widget_type = "DropDownList" - - self.assertRaises(Field.ValidationError, self.field.validate) - self.assertEqual(1, len(self.field.errors)) - - -class OptionTests(TestCase): - - def test_basic_option(self): - option = Option(id='id', text='text') - - self.assertEqual('text', option.text) - self.assertIsNotNone(option.id) - - def test_from_dict(self): - data = {'id': '1', 'text': 'si'} - option = Option.from_dict(data) - - self.assertEqual('1', option.id) - self.assertEqual('si', option.text) - - -class GroupTests(TestCase): - - def setUp(self): - self.group = Group(name='group_name') - - def test_basic_group(self): - group = Group(name='group_name') - - self.assertEqual('group_name', group.name) - self.assertEqual([], group.fields) - - def test_add_field(self): - len_group = len(self.group.fields) - - field_0 = Field(key='0001', name='field_name', widget_type='TextInput') - self.group.add_field(field_0, 0) - - self.assertEqual(len_group + 1, len(self.group.fields)) - self.assertIsInstance(field_0, Field) - - field_1 = Field(key='0002', name='field_name', widget_type='TextInput') - self.group.add_field(field_1, 0) - - self.assertEqual(field_0, self.group.fields[1]) - self.assertEqual(field_1, self.group.fields[0]) - - -class StructureTests(TestCase): - - def test_from_dict(self): - data = { - 'groups': { - '0': { - 'name': 'group_0', - 'fields': { - '0': { - 'widget_type': 'TextInput', - 'name': 'field_0_0' - }, - '1': { - 'widget_type': 'RadioButton', - 'name': 'field_0_1' - } - }, - }, - '1': { - 'name': 'group_1', - 'fields': { - '0': { - 'widget_type': 'MultipleCheckBox', - 'name': 'field_1_0' - }, - '1': { - 'widget_type': 'DropDownList', - 'name': 'field_1_1' - } - }, - } - } - } - - structure = Structure(data=data) - - group_0 = structure.groups[0] - self.assertEqual('group_0', group_0.name) - self.assertEqual(2, len(group_0.fields)) - - group_1 = structure.groups[1] - self.assertEqual('group_1', group_1.name) - self.assertEqual(2, len(group_1.fields)) - - field_0_0 = group_0.fields[0] - self.assertEqual('field_0_0', field_0_0.name) - self.assertEqual('TextInput', field_0_0.widget_type) - field_0_1 = group_0.fields[1] - self.assertEqual('field_0_1', field_0_1.name) - self.assertEqual('RadioButton', field_0_1.widget_type) - field_1_0 = group_1.fields[0] - self.assertEqual('field_1_0', field_1_0.name) - self.assertEqual('MultipleCheckBox', field_1_0.widget_type) - field_1_1 = group_1.fields[1] - self.assertEqual('field_1_1', field_1_1.name) - self.assertEqual('DropDownList', field_1_1.widget_type) - - def test_is_valid(self): - data = { - 'groups': { - '0': { - 'name': 'group_0', - 'fields': { - '0': { - 'widget_type': 'RadioButton', - 'name': 'field_0_0' - }, - } - } - } - } - - structure = Structure(data=data) - - self.assertFalse(structure.is_valid()) - - field_0_0 = structure.groups[0].fields[0] - - self.assertEqual(1, len(field_0_0.errors)) |