feat: expand platform APIs, sources, and test coverage
Some checks failed
CI/CD Pipeline / Run Tests (pull_request) Successful in 1m53s
CI/CD Pipeline / Telegram Notify Success (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (pull_request) Failing after 2m54s
CI/CD Pipeline / Telegram Notify Success (pull_request) Has been skipped

This commit is contained in:
2026-03-17 12:56:48 +01:00
parent b505c67968
commit 3d298ce352
101 changed files with 8387 additions and 292 deletions

View File

@@ -101,6 +101,14 @@ class IsOwnerOrReadOnlyTest(TestCase):
result = self.permission.has_object_permission(request, APIView(), obj)
self.assertTrue(result)
def test_unsafe_methods_use_owner_fallback_field(self):
request = self.factory.patch("/")
request.user = self.user
obj = MockObject(user=None, owner=self.user)
result = self.permission.has_object_permission(request, APIView(), obj)
self.assertTrue(result)
class IsAdminOrReadOnlyTest(TestCase):
"""Tests for IsAdminOrReadOnly permission"""
@@ -250,3 +258,11 @@ class IsOwnerOrAdminTest(TestCase):
result = self.permission.has_object_permission(request, APIView(), obj)
self.assertFalse(result)
def test_owner_fallback_field_is_used_for_non_admin(self):
request = self.factory.get("/")
request.user = self.user
obj = MockObject(user=None, owner=self.user)
result = self.permission.has_object_permission(request, APIView(), obj)
self.assertTrue(result)