Created ObjectIdField, removed object_id field parameter
This commit is contained in:
		| @@ -31,6 +31,7 @@ class DocumentTest(unittest.TestCase): | ||||
|         self.assertEqual(Person._fields['name'], name_field) | ||||
|         self.assertEqual(Person._fields['age'], age_field) | ||||
|         self.assertFalse('non_field' in Person._fields) | ||||
|         self.assertTrue('_id' in Person._fields) | ||||
|         # Test iteration over fields | ||||
|         fields = list(Person()) | ||||
|         self.assertTrue('name' in fields and 'age' in fields) | ||||
| @@ -67,7 +68,8 @@ class DocumentTest(unittest.TestCase): | ||||
|         person['name'] = 'Another User' | ||||
|         self.assertEquals(person['name'], 'Another User') | ||||
|  | ||||
|         self.assertEquals(len(person), 2) | ||||
|         # Length = length(assigned fields + _id) | ||||
|         self.assertEquals(len(person), 3) | ||||
|  | ||||
|         self.assertTrue('age' in person) | ||||
|         person.age = None | ||||
| @@ -81,6 +83,7 @@ class DocumentTest(unittest.TestCase): | ||||
|             content = StringField() | ||||
|          | ||||
|         self.assertTrue('content' in Comment._fields) | ||||
|         self.assertFalse('_id' in Comment._fields) | ||||
|         self.assertFalse(hasattr(Comment, '_meta')) | ||||
|  | ||||
|     def test_save(self): | ||||
| @@ -95,6 +98,18 @@ class DocumentTest(unittest.TestCase): | ||||
|         self.assertEqual(person_obj['name'], 'Test User') | ||||
|         self.assertEqual(person_obj['age'], 30) | ||||
|  | ||||
|     def test_save_custom_id(self): | ||||
|         """Ensure that a document may be saved with a custom _id. | ||||
|         """ | ||||
|         # Create person object and save it to the database | ||||
|         person = self.Person(name='Test User', age=30,  | ||||
|                              _id='497ce96f395f2f052a494fd4') | ||||
|         person.save() | ||||
|         # Ensure that the object is in the database with the correct _id | ||||
|         collection = self.db[self.Person._meta['collection']] | ||||
|         person_obj = collection.find_one({'name': 'Test User'}) | ||||
|         self.assertEqual(str(person_obj['_id']), '497ce96f395f2f052a494fd4') | ||||
|  | ||||
|     def test_save_embedded_document(self): | ||||
|         """Ensure that a document with an embedded document field may be  | ||||
|         saved in the database. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user