Skip to content

Commit

Permalink
Prepare fields tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
lig committed May 21, 2012
1 parent c8af592 commit cee71d1
Show file tree
Hide file tree
Showing 4 changed files with 349 additions and 0 deletions.
1 change: 1 addition & 0 deletions testprj/testapp/tests/__init__.py
@@ -1 +1,2 @@
from fields import *
from regression import MongoformsRegressionTests
2 changes: 2 additions & 0 deletions testprj/testapp/tests/fields/__init__.py
@@ -0,0 +1,2 @@
from render import MongoformsFieldRenderTest
from validate import MongoformsFieldValidateTest
159 changes: 159 additions & 0 deletions testprj/testapp/tests/fields/render.py
@@ -0,0 +1,159 @@
from django.utils import unittest
from mongoengine import Document, EmbeddedDocument
from mongoengine.fields import *

from mongoforms import MongoForm

from testprj.tests import MongoengineTestCase


class MongoformsFieldRenderTest(MongoengineTestCase):
field = None # mongoengine field instance to test
rendered_widget = None # widget rendering result

def runTest(self):

class TestDocument(Document):
test_field = self.field

class TestForm(MongoForm):
class Meta:
document = TestDocument
fields = ['test_field']

form = TestForm()
self.assertMultiLineEqual(
self.rendered_widget,
form.fields['test_field'].widget.render())


class Test001StringField(MongoformsFieldRenderTest):
field = StringField()
rendered_widget = ''


class Test002IntField(MongoformsFieldRenderTest):
field = IntField()
rendered_widget = ''


class Test003FloatField(MongoformsFieldRenderTest):
field = FloatField()
rendered_widget = ''


class Test004BooleanField(MongoformsFieldRenderTest):
field = BooleanField()
rendered_widget = ''


class Test005DateTimeField(MongoformsFieldRenderTest):
field = DateTimeField()
rendered_widget = ''


class Test006EmbeddedDocumentField(MongoformsFieldRenderTest):
field = EmbeddedDocumentField(EmbeddedDocument)
rendered_widget = ''


class Test007ListField(MongoformsFieldRenderTest):
field = ListField()
rendered_widget = ''


class Test008DictField(MongoformsFieldRenderTest):
field = DictField()
rendered_widget = ''


class Test009ObjectIdField(MongoformsFieldRenderTest):
field = ObjectIdField()
rendered_widget = ''


class Test010ReferenceField(MongoformsFieldRenderTest):
field = ReferenceField('self')
rendered_widget = ''


class Test011MapField(MongoformsFieldRenderTest):
field = MapField(StringField())
rendered_widget = ''


class Test012DecimalField(MongoformsFieldRenderTest):
field = DecimalField()
rendered_widget = ''


class Test013ComplexDateTimeField(MongoformsFieldRenderTest):
field = ComplexDateTimeField()
rendered_widget = ''


class Test014URLField(MongoformsFieldRenderTest):
field = URLField()
rendered_widget = ''


class Test015GenericReferenceField(MongoformsFieldRenderTest):
field = GenericReferenceField()
rendered_widget = ''


class Test016FileField(MongoformsFieldRenderTest):
field = FileField()
rendered_widget = ''


class Test017BinaryField(MongoformsFieldRenderTest):
field = BinaryField()
rendered_widget = ''


class Test018SortedListField(MongoformsFieldRenderTest):
field = SortedListField(StringField)
rendered_widget = ''


class Test019EmailField(MongoformsFieldRenderTest):
field = EmailField()
rendered_widget = ''


class Test020GeoPointField(MongoformsFieldRenderTest):
field = GeoPointField()
rendered_widget = ''


class Test021ImageField(MongoformsFieldRenderTest):
field = ImageField()
rendered_widget = ''


class Test022SequenceField(MongoformsFieldRenderTest):
field = SequenceField()
rendered_widget = ''


class Test023UUIDField(MongoformsFieldRenderTest):
field = UUIDField()
rendered_widget = ''


class Test024GenericEmbeddedDocumentField(MongoformsFieldRenderTest):
field = GenericEmbeddedDocumentField()
rendered_widget = ''


MongoformsFieldsRender = unittest.TestSuite([
Test001StringField(), Test002IntField(), Test003FloatField(),
Test004BooleanField(), Test005DateTimeField(),
Test006EmbeddedDocumentField(), Test007ListField(), Test008DictField(),
Test009ObjectIdField(), Test010ReferenceField(), Test011MapField(),
Test012DecimalField(), Test013ComplexDateTimeField(), Test014URLField(),
Test015GenericReferenceField(), Test016FileField(), Test017BinaryField(),
Test018SortedListField(), Test019EmailField(), Test020GeoPointField(),
Test021ImageField(), Test022SequenceField(), Test023UUIDField(),
Test024GenericEmbeddedDocumentField()])
187 changes: 187 additions & 0 deletions testprj/testapp/tests/fields/validate.py
@@ -0,0 +1,187 @@
from django.utils import unittest
from mongoengine import Document, EmbeddedDocument
from mongoengine.fields import *

from mongoforms import MongoForm

from testprj.tests import MongoengineTestCase


class MongoformsFieldValidateTest(MongoengineTestCase):
field = None # mongoengine field instance to test
correct_samples = None # list of correct sample field values
incorrect_samples = None # list of incorrect sample field values

def runTest(self):

class TestDocument(Document):
test_field = self.field

class TestForm(MongoForm):
class Meta:
document = TestDocument
fields = ['test_field']

for sample in self.correct_samples:
form = TestForm({'test_field': sample})
self.assertTrue(form.is_valid())

for sample in self.incorrect_samples:
form = TestForm({'test_field': sample})
self.assertFalse(form.is_valid())


class Test001StringField(MongoformsFieldValidateTest):
field = StringField()
correct_samples = []
incorrect_samples = []


class Test002IntField(MongoformsFieldValidateTest):
field = IntField()
correct_samples = []
incorrect_samples = []


class Test003FloatField(MongoformsFieldValidateTest):
field = FloatField()
correct_samples = []
incorrect_samples = []


class Test004BooleanField(MongoformsFieldValidateTest):
field = BooleanField()
correct_samples = []
incorrect_samples = []


class Test005DateTimeField(MongoformsFieldValidateTest):
field = DateTimeField()
correct_samples = []
incorrect_samples = []


class Test006EmbeddedDocumentField(MongoformsFieldValidateTest):
field = EmbeddedDocumentField(EmbeddedDocument)
correct_samples = []
incorrect_samples = []


class Test007ListField(MongoformsFieldValidateTest):
field = ListField()
correct_samples = []
incorrect_samples = []


class Test008DictField(MongoformsFieldValidateTest):
field = DictField()
correct_samples = []
incorrect_samples = []


class Test009ObjectIdField(MongoformsFieldValidateTest):
field = ObjectIdField()
correct_samples = []
incorrect_samples = []


class Test010ReferenceField(MongoformsFieldValidateTest):
field = ReferenceField('self')
correct_samples = []
incorrect_samples = []


class Test011MapField(MongoformsFieldValidateTest):
field = MapField(StringField())
correct_samples = []
incorrect_samples = []


class Test012DecimalField(MongoformsFieldValidateTest):
field = DecimalField()
correct_samples = []
incorrect_samples = []


class Test013ComplexDateTimeField(MongoformsFieldValidateTest):
field = ComplexDateTimeField()
correct_samples = []
incorrect_samples = []


class Test014URLField(MongoformsFieldValidateTest):
field = URLField()
correct_samples = []
incorrect_samples = []


class Test015GenericReferenceField(MongoformsFieldValidateTest):
field = GenericReferenceField()
correct_samples = []
incorrect_samples = []


class Test016FileField(MongoformsFieldValidateTest):
field = FileField()
correct_samples = []
incorrect_samples = []


class Test017BinaryField(MongoformsFieldValidateTest):
field = BinaryField()
correct_samples = []
incorrect_samples = []


class Test018SortedListField(MongoformsFieldValidateTest):
field = SortedListField(StringField)
correct_samples = []
incorrect_samples = []


class Test019EmailField(MongoformsFieldValidateTest):
field = EmailField()
correct_samples = []
incorrect_samples = []


class Test020GeoPointField(MongoformsFieldValidateTest):
field = GeoPointField()
correct_samples = []
incorrect_samples = []


class Test021ImageField(MongoformsFieldValidateTest):
field = ImageField()
correct_samples = []
incorrect_samples = []


class Test022SequenceField(MongoformsFieldValidateTest):
field = SequenceField()
correct_samples = []
incorrect_samples = []


class Test023UUIDField(MongoformsFieldValidateTest):
field = UUIDField()
correct_samples = []
incorrect_samples = []


class Test024GenericEmbeddedDocumentField(MongoformsFieldValidateTest):
field = GenericEmbeddedDocumentField()
correct_samples = []
incorrect_samples = []


MongoformsFieldsValidate = unittest.TestSuite([
Test001StringField(), Test002IntField(), Test003FloatField(),
Test004BooleanField(), Test005DateTimeField(),
Test006EmbeddedDocumentField(), Test007ListField(), Test008DictField(),
Test009ObjectIdField(), Test010ReferenceField(), Test011MapField(),
Test012DecimalField(), Test013ComplexDateTimeField(), Test014URLField(),
Test015GenericReferenceField(), Test016FileField(), Test017BinaryField(),
Test018SortedListField(), Test019EmailField(), Test020GeoPointField(),
Test021ImageField(), Test022SequenceField(), Test023UUIDField(),
Test024GenericEmbeddedDocumentField()])

0 comments on commit cee71d1

Please sign in to comment.