Tests for reverse relationships

This commit is contained in:
Tom Christie 2014-09-15 13:48:03 +01:00
parent c1e2a9cba6
commit 0c15b97b33

View File

@ -158,26 +158,47 @@ class TestRelationalFieldMappings(TestCase):
many_to_many = NestedModelSerializer(many=True, read_only=True): many_to_many = NestedModelSerializer(many=True, read_only=True):
id = IntegerField(label='ID', read_only=True) id = IntegerField(label='ID', read_only=True)
name = CharField(max_length=100) name = CharField(max_length=100)
""") """)
self.assertEqual(repr(TestSerializer()), expected) self.assertEqual(repr(TestSerializer()), expected)
# def test_flat_reverse_foreign_key(self): def test_flat_reverse_foreign_key(self):
# class TestSerializer(serializers.ModelSerializer): class TestSerializer(serializers.ModelSerializer):
# class Meta: class Meta:
# model = ForeignKeyTargetModel model = ForeignKeyTargetModel
# fields = ('id', 'name', 'reverse_foreign_key') fields = ('id', 'name', 'reverse_foreign_key')
# print repr(TestSerializer())
# def test_flat_reverse_one_to_one(self): expected = dedent("""
# class TestSerializer(serializers.ModelSerializer): TestSerializer():
# class Meta: id = IntegerField(label='ID', read_only=True)
# model = OneToOneTargetModel name = CharField(max_length=100)
# fields = ('id', 'name', 'reverse_one_to_one') reverse_foreign_key = PrimaryKeyRelatedField(many=True, queryset=RelationalModel.objects.all())
# print repr(TestSerializer()) """)
self.assertEqual(repr(TestSerializer()), expected)
# def test_flat_reverse_many_to_many(self): def test_flat_reverse_one_to_one(self):
# class TestSerializer(serializers.ModelSerializer): class TestSerializer(serializers.ModelSerializer):
# class Meta: class Meta:
# model = ManyToManyTargetModel model = OneToOneTargetModel
# fields = ('id', 'name', 'reverse_many_to_many') fields = ('id', 'name', 'reverse_one_to_one')
# print repr(TestSerializer())
expected = dedent("""
TestSerializer():
id = IntegerField(label='ID', read_only=True)
name = CharField(max_length=100)
reverse_one_to_one = PrimaryKeyRelatedField(queryset=RelationalModel.objects.all())
""")
self.assertEqual(repr(TestSerializer()), expected)
def test_flat_reverse_many_to_many(self):
class TestSerializer(serializers.ModelSerializer):
class Meta:
model = ManyToManyTargetModel
fields = ('id', 'name', 'reverse_many_to_many')
expected = dedent("""
TestSerializer():
id = IntegerField(label='ID', read_only=True)
name = CharField(max_length=100)
reverse_many_to_many = PrimaryKeyRelatedField(many=True, queryset=RelationalModel.objects.all())
""")
self.assertEqual(repr(TestSerializer()), expected)