예제 #1
0
    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), [])
예제 #2
0
    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)
예제 #3
0
    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()
예제 #4
0
    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()