test: type-hint TestPermittedObjectIdsGenericModels parametrized signatures

Matches the project convention of annotating fixture params and test
signatures, applied elsewhere in the test suite (e.g. test_matchables.py).
This commit is contained in:
stumpylog
2026-08-06 08:35:04 -07:00
parent f971b0d166
commit 5d7889cfd0
@@ -1,6 +1,7 @@
from __future__ import annotations
from http import HTTPStatus
from typing import TYPE_CHECKING
from unittest.mock import patch
import pytest
@@ -25,6 +26,10 @@ from documents.tests.factories import DocumentTypeFactory
from documents.tests.factories import StoragePathFactory
from documents.tests.factories import TagFactory
if TYPE_CHECKING:
from django.db.models import Model
from factory.django import DjangoModelFactory
def assert_visible_document_ids(actual_ids, *, expected_visible, expected_hidden):
actual_ids = set(actual_ids)
@@ -453,7 +458,12 @@ class TestTrashRestorePermissionBoundary:
],
)
class TestPermittedObjectIdsGenericModels:
def test_owner_sees_own_object(self, model, factory, perm):
def test_owner_sees_own_object(
self,
model: type[Model],
factory: type[DjangoModelFactory],
perm: str,
) -> None:
owner = User.objects.create_user(username=f"owner_{model.__name__}")
stranger = User.objects.create_user(username=f"stranger_{model.__name__}")
owned = factory(owner=owner)
@@ -465,7 +475,12 @@ class TestPermittedObjectIdsGenericModels:
expected_hidden=[strangers.pk],
)
def test_unowned_object_visible_to_everyone(self, model, factory, perm):
def test_unowned_object_visible_to_everyone(
self,
model: type[Model],
factory: type[DjangoModelFactory],
perm: str,
) -> None:
user = User.objects.create_user(username=f"user_{model.__name__}")
unowned = factory(owner=None)
@@ -475,7 +490,12 @@ class TestPermittedObjectIdsGenericModels:
expected_hidden=[],
)
def test_explicit_permission_grants_visibility(self, model, factory, perm):
def test_explicit_permission_grants_visibility(
self,
model: type[Model],
factory: type[DjangoModelFactory],
perm: str,
) -> None:
owner = User.objects.create_user(username=f"owner2_{model.__name__}")
grantee = User.objects.create_user(username=f"grantee_{model.__name__}")
stranger = User.objects.create_user(username=f"stranger2_{model.__name__}")
@@ -496,10 +516,10 @@ class TestPermittedObjectIdsGenericModels:
def test_group_permission_grants_visibility_to_members_only(
self,
model,
factory,
perm,
):
model: type[Model],
factory: type[DjangoModelFactory],
perm: str,
) -> None:
owner = User.objects.create_user(username=f"owner3_{model.__name__}")
member = User.objects.create_user(username=f"member_{model.__name__}")
non_member = User.objects.create_user(username=f"nonmember_{model.__name__}")
@@ -519,7 +539,12 @@ class TestPermittedObjectIdsGenericModels:
expected_hidden=[shared.pk],
)
def test_superuser_sees_everything(self, model, factory, perm):
def test_superuser_sees_everything(
self,
model: type[Model],
factory: type[DjangoModelFactory],
perm: str,
) -> None:
superuser = User.objects.create_superuser(username=f"root_{model.__name__}")
owner = User.objects.create_user(username=f"owner4_{model.__name__}")
obj = factory(owner=owner)