diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-10-23 18:51:15 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-02-19 14:43:48 +0100 |
commit | 6f59b9e36a0971b3deb44562062a878eb26beedf (patch) | |
tree | e22db164f77fc0ba6e30a539350bb5a37f36f5a6 /archaeological_warehouse/tests.py | |
parent | be063a7032971db7c00a160595e69e1e67dd2c9f (diff) | |
download | Ishtar-6f59b9e36a0971b3deb44562062a878eb26beedf.tar.bz2 Ishtar-6f59b9e36a0971b3deb44562062a878eb26beedf.zip |
✨ permissions refactoring: generate permissions, adapt permissions checks
Diffstat (limited to 'archaeological_warehouse/tests.py')
-rw-r--r-- | archaeological_warehouse/tests.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/archaeological_warehouse/tests.py b/archaeological_warehouse/tests.py index 96df83024..e92298c9f 100644 --- a/archaeological_warehouse/tests.py +++ b/archaeological_warehouse/tests.py @@ -20,7 +20,7 @@ import datetime import json -from django.contrib.auth.models import Permission, User +from django.contrib.auth.models import Permission, Group from django.db.utils import IntegrityError from django.test.client import Client from django.urls import reverse @@ -38,10 +38,11 @@ from ishtar_common.tests import ( create_superuser, ) -from ishtar_common.models import IshtarSiteProfile +from ishtar_common.models import IshtarSiteProfile, ProfileType, UserProfile from archaeological_operations.models import Operation from archaeological_context_records.models import ContextRecord -from archaeological_finds.models import Find, MaterialType, Treatment, TreatmentType, FindTreatment, TreatmentState +from archaeological_finds.models import \ + Find, MaterialType, Treatment, TreatmentType, FindTreatment, TreatmentState from archaeological_warehouse import models, views, forms, serializers @@ -808,7 +809,22 @@ class ContainerTest(FindInit, TestCase): container_2.index = 42000 container_2.save() username, password, user = create_user() - user.user_permissions.add(Permission.objects.get(codename="view_warehouse")) + + profile_type = ProfileType.objects.create( + label="xxCollaborateur", + txt_idx="xxcollaborator", + ) + gp = Group.objects.create(name="xxLieu de conservation : voir") + gp.permissions.add(Permission.objects.get(codename="view_warehouse")) + gp.permissions.add(Permission.objects.get(codename="view_own_container")) + profile_type.groups.add(gp) + UserProfile.objects.create( + profile_type=profile_type, + person=user.ishtaruser.person, + current=True, + ) + user.ishtaruser.generate_permission() + client = Client() client.login(username=username, password=password) url = "/autocomplete-container/{}/".format(self.main_warehouse.pk) |