add tests to increase code coverage

This commit is contained in:
Erdenezul Batmunkh 2017-09-10 01:37:17 +09:00
parent 5bdd35464b
commit 70088704e2
3 changed files with 19 additions and 1 deletions

View File

@ -334,7 +334,7 @@ class FieldTest(MongoDBTestCase):
def test_string_validation(self): def test_string_validation(self):
"""Ensure that invalid values cannot be assigned to string fields.""" """Ensure that invalid values cannot be assigned to string fields."""
class Person(Document): class Person(Document):
name = StringField(max_length=20) name = StringField(max_length=20, min_length=5)
userid = StringField(r'[0-9a-z_]+$') userid = StringField(r'[0-9a-z_]+$')
person = Person(name=34) person = Person(name=34)
@ -352,6 +352,10 @@ class FieldTest(MongoDBTestCase):
person = Person(name='Name that is more than twenty characters') person = Person(name='Name that is more than twenty characters')
self.assertRaises(ValidationError, person.validate) self.assertRaises(ValidationError, person.validate)
# Test max length validation on name
person = Person(name='aa')
self.assertRaises(ValidationError, person.validate)
person.name = 'Shorter name' person.name = 'Shorter name'
person.validate() person.validate()
@ -437,6 +441,10 @@ class FieldTest(MongoDBTestCase):
doc.age = 'ten' doc.age = 'ten'
self.assertRaises(ValidationError, doc.validate) self.assertRaises(ValidationError, doc.validate)
# Test max_value validation
doc.value = 200
self.assertRaises(ValidationError, doc.validate)
def test_float_validation(self): def test_float_validation(self):
"""Ensure that invalid values cannot be assigned to float fields. """Ensure that invalid values cannot be assigned to float fields.
""" """

View File

@ -429,6 +429,10 @@ class GeoQueriesTest(MongoDBTestCase):
roads = Road.objects.filter(line__geo_within=polygon).count() roads = Road.objects.filter(line__geo_within=polygon).count()
self.assertEqual(1, roads) self.assertEqual(1, roads)
sphere = [[-1, 42,], 2]
roads = Road.objects.filter(line__geo_within_sphere=sphere).count()
self.assertEqual(0, roads)
roads = Road.objects.filter(line__geo_within={"$geometry": polygon}).count() roads = Road.objects.filter(line__geo_within={"$geometry": polygon}).count()
self.assertEqual(1, roads) self.assertEqual(1, roads)

View File

@ -1882,6 +1882,12 @@ class QuerySetTest(unittest.TestCase):
post.reload() post.reload()
self.assertTrue('mongo' in post.tags) self.assertTrue('mongo' in post.tags)
# Push with arrays
BlogPost.objects.update(push__tags=['python', 'scala'])
post.reload()
self.assertTrue('python' in post.tags)
self.assertTrue('scala' in post.tags)
BlogPost.objects.update_one(push_all__tags=['db', 'nosql']) BlogPost.objects.update_one(push_all__tags=['db', 'nosql'])
post.reload() post.reload()
self.assertTrue('db' in post.tags and 'nosql' in post.tags) self.assertTrue('db' in post.tags and 'nosql' in post.tags)