From a7b2d8d12bb536abf769b0e6b7b698ffc52008bb Mon Sep 17 00:00:00 2001 From: Artem Muterko Date: Tue, 17 Jan 2017 15:14:48 +0200 Subject: [PATCH] Add tests for qs_exists --- tests/test_validators.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/tests/test_validators.py b/tests/test_validators.py index 37e662b8e..0234111eb 100644 --- a/tests/test_validators.py +++ b/tests/test_validators.py @@ -1,10 +1,10 @@ import datetime -from django.db import models +from django.db import DataError, models from django.test import TestCase from rest_framework import serializers -from rest_framework.validators import UniqueValidator +from rest_framework.validators import UniqueValidator, qs_exists def dedent(blocktext): @@ -429,3 +429,24 @@ class TestHiddenFieldUniquenessForDateValidation(TestCase): validators = [] """) assert repr(serializer) == expected + + +class ValidatorsTests(TestCase): + + def test_qs_exists_handles_type_error(self): + class TypeErrorQueryset(object): + def exists(self): + raise TypeError + assert qs_exists(TypeErrorQueryset()) is False + + def test_qs_exists_handles_value_error(self): + class ValueErrorQueryset(object): + def exists(self): + raise ValueError + assert qs_exists(ValueErrorQueryset()) is False + + def test_qs_exists_handles_data_error(self): + class DataErrorQueryset(object): + def exists(self): + raise DataError + assert qs_exists(DataErrorQueryset()) is False