mirror of
https://github.com/davidhalter/django-stubs.git
synced 2026-03-01 04:52:22 +08:00
* Fix stubs related to `(Async)RequestFactory` and `(Async)Client`
* Revert incorrect removal.
* Allow set as `unique_together`, use shared type alias.
* Revert `Q.__init__` to use only `*args, **kwargs` to remove false-positive with `Q(**{...})`
* Add abstract methods to `HttpResponseBase` to create common interface.
* Remove monkey-patched attributes from `HttpResponseBase` subclasses.
* Add QueryDict mutability checks (+ plugin support)
* Fix lint
* Return back GenericForeignKey to `Options.get_fields`
* Minor fixup
* Make plugin code typecheck with `--warn-unreachable`, minor performance increase.
* Better types for `{unique, index}_together` and Options.
* Fix odd type of `URLResolver.urlconf_name` which isn't a str actually.
* Better types for field migration operations.
* Revert form.files to `MultiValueDict[str, UploadedFile]`
* Compatibility fix (#916)
* Do not assume that `Annotated` is always related to django-stubs (fixes #893)
* Restrict `FormView.get_form` return type to `_FormT` (class type argument). Now it is resolved to `form_class` argument if present, but also errors if it is not subclass of _FormT
* Fix CI (make test runnable on 3.8)
* Fix CI (make test runnable on 3.8 _again_)
This commit is contained in:
33
tests/typecheck/test/test_client.yml
Normal file
33
tests/typecheck/test/test_client.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
- case: client_methods
|
||||
main: |
|
||||
from django.test.client import Client
|
||||
client = Client()
|
||||
response = client.get('foo')
|
||||
reveal_type(response.wsgi_request) # N: Revealed type is "django.core.handlers.wsgi.WSGIRequest"
|
||||
reveal_type(response.request) # N: Revealed type is "builtins.dict[builtins.str, Any]"
|
||||
reveal_type(response.templates) # N: Revealed type is "builtins.list[django.template.base.Template]"
|
||||
reveal_type(response.client) # N: Revealed type is "django.test.client.Client"
|
||||
reveal_type(response.context) # N: Revealed type is "builtins.list[builtins.dict[builtins.str, Any]]"
|
||||
response.json()
|
||||
- case: async_client_methods
|
||||
main: |
|
||||
from django.test.client import AsyncClient
|
||||
async def main():
|
||||
client = AsyncClient()
|
||||
response = await client.get('foo')
|
||||
reveal_type(response.asgi_request) # N: Revealed type is "django.core.handlers.asgi.ASGIRequest"
|
||||
reveal_type(response.request) # N: Revealed type is "builtins.dict[builtins.str, Any]"
|
||||
reveal_type(response.templates) # N: Revealed type is "builtins.list[django.template.base.Template]"
|
||||
reveal_type(response.client) # N: Revealed type is "django.test.client.AsyncClient"
|
||||
reveal_type(response.context) # N: Revealed type is "builtins.list[builtins.dict[builtins.str, Any]]"
|
||||
response.json()
|
||||
- case: request_factories
|
||||
main: |
|
||||
from django.test.client import RequestFactory, AsyncRequestFactory
|
||||
factory = RequestFactory()
|
||||
request = factory.get('foo')
|
||||
reveal_type(request) # N: Revealed type is "django.core.handlers.wsgi.WSGIRequest*"
|
||||
|
||||
async_factory = AsyncRequestFactory()
|
||||
async_request = async_factory.get('foo')
|
||||
reveal_type(async_request) # N: Revealed type is "django.core.handlers.asgi.ASGIRequest*"
|
||||
@@ -9,4 +9,4 @@
|
||||
reveal_type(resp.status_code) # N: Revealed type is "builtins.int"
|
||||
# Attributes monkey-patched by test Client class:
|
||||
resp.json()
|
||||
reveal_type(resp.wsgi_request) # N: Revealed type is "django.core.handlers.wsgi.WSGIRequest*"
|
||||
reveal_type(resp.wsgi_request) # N: Revealed type is "django.core.handlers.wsgi.WSGIRequest"
|
||||
|
||||
Reference in New Issue
Block a user