added content of PR #688 with a test to proove it is a bit right

This commit is contained in:
mrigal
2015-04-16 14:37:46 +02:00
committed by Matthieu Rigal
parent 1862bcf867
commit 53fbc165ba
2 changed files with 27 additions and 4 deletions

View File

@@ -307,6 +307,23 @@ class InheritanceTest(unittest.TestCase):
doc = Animal(name='dog')
self.assertFalse('_cls' in doc.to_mongo())
def test_abstract_handle_ids_in_metaclass_properly(self):
class City(Document):
continent = StringField()
meta = {'abstract': True,
'allow_inheritance': False}
class EuropeanCity(City):
name = StringField()
country = StringField()
berlin = EuropeanCity(name='Berlin', continent='Europe')
self.assertEqual(len(berlin._db_field_map), len(berlin._fields_ordered))
self.assertEqual(len(berlin._reverse_db_field_map), len(berlin._fields_ordered))
self.assertEqual(len(berlin._fields_ordered), 4)
self.assertEqual(berlin._fields_ordered[0], 'id')
def test_abstract_document_creation_does_not_fail(self):
class City(Document):