Add tests for some queryset methods (#684)

This commit is contained in:
Abhyudai
2021-08-01 13:42:06 +05:30
committed by GitHub
parent 695a7d71a7
commit 01eecf901f

View File

@@ -1,5 +1,6 @@
- case: queryset_basic_methods_return_type - case: queryset_basic_methods_return_type
main: | main: |
from django.utils import timezone
from myapp.models import Blog from myapp.models import Blog
qs = Blog.objects.all() qs = Blog.objects.all()
@@ -11,14 +12,27 @@
reveal_type(qs.earliest()) # N: Revealed type is "myapp.models.Blog*" reveal_type(qs.earliest()) # N: Revealed type is "myapp.models.Blog*"
reveal_type(qs[0]) # N: Revealed type is "myapp.models.Blog*" reveal_type(qs[0]) # N: Revealed type is "myapp.models.Blog*"
reveal_type(qs[:9]) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, myapp.models.Blog]" reveal_type(qs[:9]) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, myapp.models.Blog]"
reveal_type(qs.in_bulk()) # N: Revealed type is "builtins.dict[Any, myapp.models.Blog*]" reveal_type(qs.create()) # N: Revealed type is "myapp.models.Blog*"
reveal_type(qs.get_or_create()) # N: Revealed type is "Tuple[myapp.models.Blog*, builtins.bool]"
reveal_type(qs.exists()) # N: Revealed type is "builtins.bool"
reveal_type(qs.none()) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, myapp.models.Blog]"
reveal_type(qs.update_or_create()) # N: Revealed type is "Tuple[myapp.models.Blog*, builtins.bool]"
reveal_type(qs.explain()) # N: Revealed type is "builtins.str"
reveal_type(qs.raw(qs.explain())) # N: Revealed type is "django.db.models.query.RawQuerySet[Any]"
# .dates / .datetimes # .dates / .datetimes
reveal_type(Blog.objects.dates("created_at", "day")) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog*, datetime.date]" reveal_type(Blog.objects.dates("created_at", "day")) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog*, datetime.date]"
reveal_type(Blog.objects.datetimes("created_at", "day")) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog*, datetime.datetime]" reveal_type(Blog.objects.datetimes("created_at", "day")) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog*, datetime.datetime]"
# AND-ing QuerySets # AND-ing QuerySets
reveal_type(Blog.objects.all() & Blog.objects.all()) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, myapp.models.Blog]" reveal_type(Blog.objects.all() & Blog.objects.all()) # N: Revealed type is "django.db.models.query._QuerySet[myapp.models.Blog, myapp.models.Blog]"
# bulk methods
reveal_type(qs.count()) # N: Revealed type is "builtins.int"
reveal_type(qs.update(created_at=timezone.now())) # N: Revealed type is "builtins.int"
reveal_type(qs.in_bulk()) # N: Revealed type is "builtins.dict[Any, myapp.models.Blog*]"
reveal_type(qs.bulk_update(list(qs), fields=["created_at"])) # N: Revealed type is "None"
reveal_type(qs.bulk_create([])) # N: Revealed type is "builtins.list[myapp.models.Blog*]"
reveal_type(qs.delete()) # N: Revealed type is "Tuple[builtins.int, builtins.dict[builtins.str, builtins.int]]"
installed_apps: installed_apps:
- myapp - myapp
files: files:
@@ -30,7 +44,6 @@
class Blog(models.Model): class Blog(models.Model):
created_at = models.DateTimeField() created_at = models.DateTimeField()
- case: queryset_missing_method - case: queryset_missing_method
main: | main: |
from myapp.models import User from myapp.models import User