This commit is contained in:
Adrien Brunet 2017-06-06 21:28:43 +00:00 committed by GitHub
commit 4e71c3bf06
2 changed files with 23 additions and 0 deletions

View File

@ -2,6 +2,7 @@ from __future__ import unicode_literals
import uuid
from django.core.validators import MinValueValidator
from django.db import models
from django.utils.translation import ugettext_lazy as _
@ -88,3 +89,9 @@ class NullableOneToOneSource(RESTFrameworkModel):
target = models.OneToOneField(
OneToOneTarget, null=True, blank=True,
related_name='nullable_source', on_delete=models.CASCADE)
# min_value with PositiveIntegerField
class MinValueItem(RESTFrameworkModel):
integer = models.IntegerField(validators=[MinValueValidator(0)])
positive_integer = models.PositiveIntegerField()

View File

@ -14,6 +14,7 @@ from rest_framework import fields, relations, serializers
from rest_framework.compat import unicode_repr
from rest_framework.fields import Field
from .models import MinValueItem
from .utils import MockObject
try:
@ -145,6 +146,21 @@ class TestSerializer:
assert serializer.errors == {}
class TestMinValueSerializer:
def setup(self):
class ExampleSerializer(serializers.ModelSerializer):
class Meta:
model = MinValueItem
fields = ('integer', 'positive_integer')
self.serializer = ExampleSerializer()
def test_min_value_for_integer_field(self):
assert self.serializer['integer'].min_value == 0
def test_min_value_for_positive_integer_field(self):
assert self.serializer['positive_integer'].min_value == 0
class TestValidateMethod:
def test_non_field_error_validate_method(self):
class ExampleSerializer(serializers.Serializer):