Commit Graph

162 Commits

Author SHA1 Message Date
Yair Silbermintz
a7a8b3dca6
Replace calls to methods removed in Django v4 (#1275)
* Replace calls to deprecated methods

* Fix test config & Replace additional methods removed in django 4.0

* Update tox for official Django 4 release

* 2.16.0

* Revert version update

* Remove duplicate entry

Co-authored-by: Jeremy Stretch <jstretch@ns1.com>

* Limit max Django version

Co-authored-by: Jeremy Stretch <jstretch@ns1.com>

* Remove Python 3.5 (deprecated) from tox

Co-authored-by: Jeremy Stretch <jstretch@ns1.com>

Co-authored-by: Ülgen Sarıkavak <ulgens@users.noreply.github.com>
Co-authored-by: Jeremy Stretch <jstretch@ns1.com>
2022-02-07 17:16:41 +03:00
Thomas Leonard
e323e2bc0b
Add enum support to filters and fix filter typing (v2) (#1114)
* - Add filtering support for choice fields converted to graphql Enum (or not)
- Fix type of various filters (used to default to String)
- Fix bug with contains introduced in previous PR
- Fix bug with declared filters being overridden (see PR #1108)
- Fix support for ArrayField and add documentation

* Fix tests

Co-authored-by: Thomas Leonard <thomas@loftorbital.com>
2021-02-22 20:22:09 -08:00
Lucas
e0a5d1c58e
Support "contains" and "overlap" filtering (v2) (#1100)
* Fix project setup

* Support contains/overlap filters

* Add Python 2.7 support

* Adjust docstrings

* Remove unused fixtures
2021-01-18 21:39:18 -08:00
Ülgen Sarıkavak
66c8901041
Convert Django form / DRF decimals to Graphene decimals (#958)
* Convert Django form decimals to Graphene decimals

* Ugly fix for test_should_query_filter_node_limit

* Convert DRF serializer decimal to Graphene decimal
2021-01-09 22:00:11 -08:00
Ülgen Sarıkavak
40e5252936
Use the Django TestCase's Client (#1084)
* Use the Django Client test utility instance that Django provides with its TestCase class. This allows GraphQL tests to make use of the stateful client methods like login()

* Add missing test case initializer call

* Don't break backward compability

* Add test for pending deprecation warning on GraphQLTestCase._client

Co-authored-by: Tom Nightingale <tom@tnightingale.com>
2020-12-30 21:12:24 -08:00
Thiago Bellini Ribeiro
8c48516093
Also convert BaseCSVFilter for custom fields (#1081) 2020-12-30 21:03:57 -08:00
Jason Kraus
2d0b9ddd42
improvement: convert decimal field to graphene decimal (#1083) 2020-12-30 08:25:41 -08:00
Ignacio Orlandini
8f63199a63
Handle database transactions (#1039)
* Handle Django database atomic requests

* Create and handle database atomic mutations

* Make code compatible with Python 2.7

* Code style

* Define set_rollback instead of using the one in rest_framework.views because of backward compatibility

* Implement mock.patch.dict
2020-12-22 20:18:14 -08:00
Jason Kraus
7b35695067
Fix 1061: DjangoListField should not cache queries (#1063)
* fix( DjangoListField ): test that default functionality should resolve/call queryset at view time, first attempt at solution

* fix( DjangoListField ): DjangoListField defines get_manager just like DjangoConnectionField for a better variable name default_manager instead of default_queryset

* fix: apply specific black formatting
2020-12-22 20:10:28 -08:00
Thomas Leonard
454b74052e
Fix backward Relay pagination (#1046)
* Fix backward Relay pagination

* linting

Co-authored-by: Thomas Leonard <thomas@loftorbital.com>
2020-12-22 20:04:45 -08:00
Thomas Leonard
2140be5e6a
Add offset pagination (#1013)
* Add offset filtering

* Formatting

Co-authored-by: Thomas Leonard <thomas@loftorbital.com>
2020-10-26 09:09:21 -07:00
Andreas Hasenkopf
ee3d4f521f
Include tests and examples in source package, but don't install them (#1034)
..., but don't install them.
Also applied changes as suggested by `black`.
2020-10-19 17:23:41 +01:00
Nikolai Røed Kristiansen
67a0492c12
Add converter for django 3.1 JSONField (#1017) 2020-08-07 10:22:15 +01:00
Thomas Leonard
11dbde3bea
Fix Connection/Edge naming and add unit test (#1012)
Co-authored-by: Thomas Leonard <thomas@loftorbital.com>
2020-08-07 10:15:35 +01:00
Nikolai Røed Kristiansen
2308965658
Extract query function from GraphQLTestCase making it possible to use in a pytest fixture (#1015) 2020-08-05 20:24:16 +01:00
Thiago Bellini Ribeiro
d50955a173
Do not break when after is greater than list_length (#999) 2020-07-09 18:01:22 +01:00
Jonathan Kim
3026181b28
Set first amount to max limit if not set (#993) 2020-06-25 15:10:56 +01:00
Paul Craciunoiu
3c229b619e
Fix hasNextPage - revert to count. Fix after (#986)
Co-authored-by: Jonathan Kim <jkimbo@gmail.com>
2020-06-25 13:00:24 +01:00
Yuyang Zhang(helloqiu)
48bfc395ee
fix(converter): wrap field with NonNull if it is required (#545)
Co-authored-by: Jonathan Kim <jkimbo@gmail.com>
2020-06-10 17:52:45 +01:00
Paul Craciunoiu
c00203499b
DjangoConnectionField slice: use max_limit first, if set (#965) 2020-06-06 19:00:21 +01:00
Paul Craciunoiu
2225ed62e1
Do not access the internals of SimpleLazyObject (#945) 2020-05-09 17:35:09 +01:00
Jonathan Kim
5867331c7b
Allow defining fields as an empty list (#871) 2020-05-09 12:28:19 +01:00
Jonathan Kim
b4e34a5794
Improve DjangoListField (#929) 2020-05-09 12:28:03 +01:00
Jack W
894c564ab7
Convert nullable BooleanField to nullable Boolean. (#777) 2020-05-09 12:09:17 +01:00
Jean-Louis Fuchs
b9f0e4f9ae
Make tests order independent (#932)
* Reset the global registry after each test (teardown)

* Create a settings fixtures that returns graphene_settings and resets
  the graphene_settings after use (teardown)

* Convert test_mutation tests from unittests.TestCase to pytest

* Convert test_mutation PetType to a pet_type fixtures that reregisters
  the type
2020-04-20 13:23:20 +01:00
Noelle Leigh
dc5c971498
Switch operation_name to operationName in GraphQLTestCase (#936)
* Add op_name test

* Replace "operation_name" with "operationName"

* Improve test comments

* Add method for Python 2.7
2020-04-19 21:11:33 +01:00
Jonathan Kim
c8a56f8857
Allow string references in DjangoListField (#885)
* Allow passing string references to DjangoListField

* Refactor logic to work with string imports
2020-03-13 10:05:35 +00:00
Jonathan Kim
348fcf37a0
Detect format from output file path (#868)
* Detect format from output file path

* Fix tests

* Add test for exporting graphql file

* Add some documentation
2020-03-13 10:04:55 +00:00
Jonathan Kim
b8e598d66d
Add options to override how Django Choice fields are converted t… (#860)
* Add new setting to create unique enum names

* Add specific tests for name generation

* Add schema test

* Rename settings field

* Rename setting

* Add custom function setting

* Add documentation

* Use format instead of f strings

* Update graphene_django/converter.py

Co-Authored-By: Syrus Akbary <me@syrusakbary.com>

* Fix tests

* Update docs

* Import function through import_string function

Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2020-03-13 10:04:25 +00:00
Jonathan Kim
4e1b82a8d8
Check exclude fields correctly (#873) 2020-02-17 11:08:44 +00:00
Jonathan Kim
280b38f804
Only warn if a field doesn't exist on the Django model (#862)
* Only warn if a field doesn't exist on the Django model

Also don't warn if the field name matches a custom field.

* Expand warning messages
2020-02-07 09:55:38 +00:00
Vyacheslav Matyukhin
efe210f8ac Validate Meta.fields and Meta.exclude on DjangoObjectType (#842)
Resolves #840
2019-12-31 13:55:45 +00:00
Vyacheslav Matyukhin
f661cf8335 Fix typo in exclude type checking test (#841) 2019-12-30 14:14:41 +00:00
Jason Kraus
a818ec9017 replace merge_queryset with resolve_queryset pattern (#796)
* replace merge_queryset with resolve_queryset pattern

* skip double limit test

* Update graphene_django/fields.py

Co-Authored-By: Jonathan Kim <jkimbo@gmail.com>

* yank skipped test

* fix bad variable ref

* add test for annotations

* add test for using  queryset with django filters

* document ththat one should use defer instead of values with queysets and DjangoObjectTypes
2019-11-28 10:49:37 +00:00
Jonathan Kim
fea9b5b194 Extend DjangoListField to use model queryset if none defined (#732)
* Fix model property

* Only allow DjangoObjectTypes to DjangoListField

* Resolve model queryset by default

* Add some more tests to check behaviour
2019-09-17 09:14:18 -07:00
Alexandre Kirszenberg
59f4f134b5 Set converted Django connections to required (#610) 2019-08-01 09:31:18 -07:00
Jason Kraus
b1a9293016 fix choices enum: if field can be blank then it isnt required (#714) 2019-08-01 09:07:52 +01:00
Jonathan Kim
b7e4937775
Alias only_fields as fields and exclude_fields as exclude (#691)
* Create new fields and exclude options that are aliased to exclude_fields and only_fields

* Update docs

* Add some checking around fields and exclude definitions

* Add all fields option

* Update docs to include `__all__` option

* Actual order of fields is not stable

* Update docs/queries.rst

Co-Authored-By: Semyon Pupkov <semen.pupkov@gmail.com>

* Fix example code

* Format code

* Start raising PendingDeprecationWarnings for using only_fields and exclude_fields

* Update tests
2019-07-09 14:03:11 +01:00
Jonathan Kim
40ae7e53ec
Fix manager check in DjangoConnectionField (#693)
* Fix default manager check

* Add test
2019-07-02 19:37:50 +01:00
Jonathan Kim
54cc6a4b13
Enforce NonNull for returned related Sets and their content (#690)
* Enforce NonNull for returned related Sets and their content. https://github.com/graphql-python/graphene-django/issues/448

* Run format.

* Remove duplicate assertion
2019-06-25 16:30:30 +01:00
Konstantin Alekseev
e2e496f505 Apply camel case converter to field names in DRF errors (#514)
* Apply camel case converter to field names in DRF errors

* Implement recursive error camelize, add setting.
2019-06-25 09:40:29 +01:00
Jonathan Kim
612ba5a4ea
Add convert_choices_to_enum option on DjangoObjectType Meta class (#674)
* Add convert_choices_to_enum meta option

* Add tests

* Run black

* Update documentation

* Add link to Django choices documentation

* Add test and documentation note

That setting to an empty list is the same as setting the value as False

* Fix Django warning in tests

* rst is not markdown
2019-06-17 18:48:29 +01:00
Jonathan Kim
775d2e3523
Update travis and tox (#667)
* Update travis and tox

* Use xenial distribution

* Don't install coveralls twice

* Add black and flake8 tox commands

* Remove Python 3.5 test for Django master

* Fix indent

* Ignore migrations

* Remove black for now

* Run black formatting (#668)

* Run black format

* Update makefile

* Add black to travis build
2019-06-10 20:54:30 -07:00
Mel van Londen
b271b259bd
Merge pull request #603 from abettke/fix/enhanced-proxy-model-support
Adds enhanced support for proxy models.
2019-06-09 16:47:10 -07:00
mvanlonden
94602c77c6 add reverse relation one to one query test 2019-06-09 12:41:04 -07:00
Paul Hallett
2bf7e7f66d
Fix importing error for GraphQLTestCase 2019-05-08 22:45:28 +01:00
Paul Hallett
e6ad5887ca
Introduce Black formatting, additional tests 2019-05-02 17:46:35 +01:00
Mel van Londen
fb8a129752
Merge pull request #608 from GitRon/feature/base-test-class
Added test class for django api unittests and documentation
2019-04-27 09:16:23 -07:00
Andrew Bettke
a7ee042e9d Merge branch 'master' of https://github.com/graphql-python/graphene-django into fix/enhanced-proxy-model-support 2019-04-01 22:15:16 +13:00
Patrick Arminio
923d8282c7 Fix duplicated ErrorType declaration (#539)
* Add failing test case

* Fix duplicated ErrorType declaration
2019-03-31 12:01:43 +01:00