fix: tests

This commit is contained in:
Laurent Riviere 2023-08-09 15:31:01 +00:00
parent 6c3da8e1d5
commit f8747e4598
5 changed files with 25 additions and 12 deletions

View File

@ -12,12 +12,13 @@ try:
IntegerRangeField, IntegerRangeField,
RangeField, RangeField,
) )
from django.db.models import Choices
try: try:
from django.db.models import JSONField from django.db.models import JSONField
except ImportError: except ImportError:
from django.contrib.postgres.fields import JSONField from django.contrib.postgres.fields import JSONField
except ImportError: except ImportError:
IntegerRangeField, ArrayField, HStoreField, RangeField, JSONField = ( IntegerRangeField, ArrayField, HStoreField, RangeField, JSONField, Choices = (
MissingType, MissingType,
) * 5 ) * 6

View File

@ -37,7 +37,7 @@ except ImportError:
from graphql import assert_valid_name as assert_name from graphql import assert_valid_name as assert_name
from graphql.pyutils import register_description from graphql.pyutils import register_description
from .compat import ArrayField, HStoreField, RangeField, JSONField from .compat import ArrayField, HStoreField, JSONField, RangeField
from .fields import DjangoConnectionField, DjangoListField from .fields import DjangoConnectionField, DjangoListField
from .settings import graphene_settings from .settings import graphene_settings
from .utils.str_converters import to_const from .utils.str_converters import to_const

View File

@ -1,5 +1,7 @@
from django.db import models from django.db import models
from ..compat import Choices, MissingType
class MyFakeModel(models.Model): class MyFakeModel(models.Model):
cool_name = models.CharField(max_length=50) cool_name = models.CharField(max_length=50)
@ -16,12 +18,19 @@ class MyFakeModelWithDate(models.Model):
last_edited = models.DateField() last_edited = models.DateField()
class MyFakeModelWithChoiceField(models.Model): if Choices is not MissingType:
class ChoiceType(models.Choices):
ASDF = "asdf"
HI = "hi"
choice_type = models.CharField( class MyFakeModelWithChoiceField(models.Model):
max_length=4, class ChoiceType(Choices):
default=ChoiceType.HI.name, ASDF = "asdf"
) HI = "hi"
choice_type = models.CharField(
max_length=4,
default=ChoiceType.HI.name,
)
else:
class MyFakeModelWithChoiceField:
...

View File

@ -1,11 +1,13 @@
import datetime import datetime
import pytest
from pytest import raises from pytest import raises
from rest_framework import serializers from rest_framework import serializers
from graphene import Field, ResolveInfo from graphene import Field, ResolveInfo
from graphene.types.inputobjecttype import InputObjectType from graphene.types.inputobjecttype import InputObjectType
from ...compat import Choices, MissingType
from ...types import DjangoObjectType from ...types import DjangoObjectType
from ..models import ( from ..models import (
MyFakeModel, MyFakeModel,
@ -273,6 +275,7 @@ def test_perform_mutate_success():
assert result.days_since_last_edit == 4 assert result.days_since_last_edit == 4
@pytest.mark.skipif(Choices is MissingType, reason="Choices should exist")
def test_perform_mutate_success_with_enum_choice_field(): def test_perform_mutate_success_with_enum_choice_field():
class ListViewChoiceFieldSerializer(serializers.ModelSerializer): class ListViewChoiceFieldSerializer(serializers.ModelSerializer):
choice_type = serializers.ChoiceField( choice_type = serializers.ChoiceField(

View File

@ -11,7 +11,7 @@ from pytest import raises
import graphene import graphene
from graphene.relay import Node from graphene.relay import Node
from ..compat import IntegerRangeField, MissingType, JSONField from ..compat import IntegerRangeField, JSONField, MissingType
from ..fields import DjangoConnectionField from ..fields import DjangoConnectionField
from ..types import DjangoObjectType from ..types import DjangoObjectType
from ..utils import DJANGO_FILTER_INSTALLED from ..utils import DJANGO_FILTER_INSTALLED