diff options
Diffstat (limited to 'tests/test_write_only_fields.py')
| -rw-r--r-- | tests/test_write_only_fields.py | 35 | 
1 files changed, 12 insertions, 23 deletions
| diff --git a/tests/test_write_only_fields.py b/tests/test_write_only_fields.py index aabb18d6..dd3bbd6e 100644 --- a/tests/test_write_only_fields.py +++ b/tests/test_write_only_fields.py @@ -1,42 +1,31 @@ -from django.db import models  from django.test import TestCase  from rest_framework import serializers -class ExampleModel(models.Model): -    email = models.EmailField(max_length=100) -    password = models.CharField(max_length=100) - -  class WriteOnlyFieldTests(TestCase): -    def test_write_only_fields(self): +    def setUp(self):          class ExampleSerializer(serializers.Serializer):              email = serializers.EmailField()              password = serializers.CharField(write_only=True) +            def create(self, attrs): +                return attrs + +        self.Serializer = ExampleSerializer + +    def write_only_fields_are_present_on_input(self):          data = {              'email': 'foo@example.com',              'password': '123'          } -        serializer = ExampleSerializer(data=data) +        serializer = self.Serializer(data=data)          self.assertTrue(serializer.is_valid()) -        self.assertEquals(serializer.object, data) -        self.assertEquals(serializer.data, {'email': 'foo@example.com'}) - -    def test_write_only_fields_meta(self): -        class ExampleSerializer(serializers.ModelSerializer): -            class Meta: -                model = ExampleModel -                fields = ('email', 'password') -                write_only_fields = ('password',) +        self.assertEquals(serializer.validated_data, data) -        data = { +    def write_only_fields_are_not_present_on_output(self): +        instance = {              'email': 'foo@example.com',              'password': '123'          } -        serializer = ExampleSerializer(data=data) -        self.assertTrue(serializer.is_valid()) -        self.assertTrue(isinstance(serializer.object, ExampleModel)) -        self.assertEquals(serializer.object.email, data['email']) -        self.assertEquals(serializer.object.password, data['password']) +        serializer = self.Serializer(instance)          self.assertEquals(serializer.data, {'email': 'foo@example.com'}) | 
