diff --git a/graphene_django/utils/testing.py b/graphene_django/utils/testing.py index c783f71bf..584a08bca 100644 --- a/graphene_django/utils/testing.py +++ b/graphene_django/utils/testing.py @@ -101,6 +101,10 @@ def query( ) @property + def _client(self): + pass + + @_client.getter def _client(self): warnings.warn( "Using `_client` is deprecated in favour of `client`.", @@ -109,6 +113,15 @@ def _client(self): ) return self.client + @_client.setter + def _client(self, client): + warnings.warn( + "Using `_client` is deprecated in favour of `client`.", + PendingDeprecationWarning, + stacklevel=2, + ) + self.client = client + def assertResponseNoErrors(self, resp, msg=None): """ Assert that the call went through correctly. 200 means the syntax is ok, if there are no `errors`, diff --git a/graphene_django/utils/tests/test_testing.py b/graphene_django/utils/tests/test_testing.py index df7832130..2ef78f99b 100644 --- a/graphene_django/utils/tests/test_testing.py +++ b/graphene_django/utils/tests/test_testing.py @@ -2,12 +2,13 @@ from .. import GraphQLTestCase from ...tests.test_types import with_local_registry +from django.test import Client @with_local_registry -def test_graphql_test_case_deprecated_client(): +def test_graphql_test_case_deprecated_client_getter(): """ - Test that `GraphQLTestCase._client`'s should raise pending deprecation warning. + `GraphQLTestCase._client`' getter should raise pending deprecation warning. """ class TestClass(GraphQLTestCase): @@ -22,3 +23,23 @@ def runTest(self): with pytest.warns(PendingDeprecationWarning): tc._client + + +@with_local_registry +def test_graphql_test_case_deprecated_client_setter(): + """ + `GraphQLTestCase._client`' setter should raise pending deprecation warning. + """ + + class TestClass(GraphQLTestCase): + GRAPHQL_SCHEMA = True + + def runTest(self): + pass + + tc = TestClass() + tc._pre_setup() + tc.setUpClass() + + with pytest.warns(PendingDeprecationWarning): + tc._client = Client()