def test_1l_1f_ref_lookup_fetches_linked_object(self):
     user = LinkedUser(name='Teo Yeo')
     profile = LinkedProfile(name='Great City')
     user.profile = profile
     user.save()
     profile = LinkedProfile.id(profile.id).include('user').exec()
     self.assertEqual(profile.user.id, user.id)
     self.assertEqual(profile.user.name, user.name)
 def test_fetched_objects_are_unmodified_1f_1l(self):
     user = LinkedUser(name='Bo Hang')
     profile = LinkedProfile(name='Ko Leng')
     user.profile = profile
     user.save()
     profile = LinkedProfile.id(profile.id).include('user').exec()
     self.assertEqual(profile.is_new, False)
     self.assertEqual(profile.is_modified, False)
     self.assertEqual(profile.modified_fields, ())
     self.assertEqual(profile.user.is_new, False)
     self.assertEqual(profile.user.is_modified, False)
     self.assertEqual(profile.user.modified_fields, ())
 def test_1l_1f_find_lookup_fetches_linked_object(self):
     user1 = LinkedUser(name='Phou Neng')
     profile1 = LinkedProfile(name='Great City, Too')
     user1.profile = profile1
     user1.save()
     user2 = LinkedUser(name='Teo Yeo')
     profile2 = LinkedProfile(name='Great City')
     user2.profile = profile2
     user2.save()
     results = LinkedProfile.find().include('user').exec()
     self.assertEqual(results[0].id, profile1.id)
     self.assertEqual(results[0].user.id, user1.id)
     self.assertEqual(results[1].id, profile2.id)
     self.assertEqual(results[1].user.id, user2.id)
 def test_1f_1l_ref_lookup_fetches_linked_object_use_id_include(self):
     user = LinkedUser(name='Teo Yeo')
     profile = LinkedProfile(name='Great City')
     user.profile = profile
     user.save()
     user = LinkedUser.id(user.id, **{'_includes': ['profile']}).exec()
     self.assertEqual(user.profile.id, profile.id)
     self.assertEqual(user.profile.name, profile.name)
Пример #5
0
 def test_1l_1f_instance_can_be_nullified(self):
     user = LinkedUser(name='crazy')
     profile = LinkedProfile(name='six')
     user.profile = profile
     user.save()
     collection = Connection.get_collection(LinkedUser)
     self.assertEqual(collection.count_documents({}), 1)
     collection = Connection.get_collection(LinkedProfile)
     self.assertEqual(collection.count_documents({}), 1)
     user.delete()
     for obj in collection.find():
         self.assertNotIn('userId', obj)
Пример #6
0
 def test_1f_1l_object_unlink_is_saved(self):
     user = LinkedUser(name='u')
     profile = LinkedProfile(name='p')
     user.profile = profile
     user.save()
     user.profile = None
     user.save()
     self.assertEqual(profile.is_new, False)
     self.assertEqual(profile.is_modified, False)
     self.assertEqual(profile.modified_fields, ())
     self.assertEqual(user.is_new, False)
     self.assertEqual(user.is_modified, False)
     self.assertEqual(user.modified_fields, ())
     collection = Connection.get_collection(LinkedProfile)
     for item in collection.find({}):
         self.assertNotIn('userId', item)