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
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user