def test_get_attribute_returns_empty_list_for_transient_object(self): child_instance = self.FakeRelatedField(read_only=True) instance = ManyRelatedField(child_relation=child_instance) instance.bind('addresses', self) transient_user = self.TestManyRelatedFieldUserModel(name='admin') self.assertEqual(instance.get_attribute(transient_user), [])
def test_deepcopy_field(self): child_instance = self.FakeRelatedField(read_only=True) instance = ManyRelatedField(child_relation=child_instance) instance.bind('addresses', self) instance_copy = instance.__deepcopy__(None) self.assertNotEqual(instance, instance_copy) self.assertEqual(instance.child_relation, instance_copy.child_relation)
def test_get_attribute_returns_empty_list_for_pending_object(self): child_instance = self.FakeRelatedField(read_only=True) instance = ManyRelatedField(child_relation=child_instance) instance.bind('addresses', self) session = SESSION() pending_user = self.TestManyRelatedFieldUserModel(name='admin') session.add(pending_user) self.assertEqual(instance.get_attribute(pending_user), []) session.close()
def test_get_attribute_returns_relation(self): child_instance = self.FakeRelatedField(read_only=True) instance = ManyRelatedField(child_relation=child_instance) instance.bind('addresses', self) session = SESSION() user = self.TestManyRelatedFieldUserModel(name='admin') address = self.TestManyRelatedFieldAddressModel( email_address='*****@*****.**') user.addresses.append(address) session.add(user) session.add(address) session.commit() self.assertEqual(instance.get_attribute(user), [address]) session.close()