from dcf_test_app.models import Brand, Product
from django.test import TestCase
from rest_framework.test import APIClient

from django_client_framework import permissions as p
from django_client_framework.models import get_user_model
from django_client_framework.permissions import reset_permissions

User = get_user_model()


class TestPostPerms(TestCase):
    """POSTing to the related collection api creates new relations."""
    def setUp(self) -> None:
        reset_permissions()
        self.user = User.objects.create(username="******")
        self.user_client = APIClient()
        self.user_client.force_authenticate(self.user)
        self.brand = Brand.objects.create(name="brand")
        self.product = Product.objects.create(barcode="product")

    def test_full_permission_post(self) -> None:
        """
        Post with read and field write permissions.
        """
        p.add_perms_shortcut(self.user,
                             self.brand,
                             "rw",
                             field_name="products")
        p.add_perms_shortcut(self.user, self.product, "w", field_name="brand")
        p.add_perms_shortcut(self.user, self.product, "r")
Пример #2
0
 def setUp(self) -> None:
     reset_permissions()
     self.user = get_user_model().objects.create()