Unit testing fixes

This commit is contained in:
Oliver Walters 2020-10-06 16:03:19 +11:00
parent d691b15f4b
commit b3e4efd96e
3 changed files with 30 additions and 47 deletions

View File

@ -3,13 +3,13 @@ from rest_framework import status
from django.urls import reverse from django.urls import reverse
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from part.models import Part from part.models import Part
from stock.models import StockItem from stock.models import StockItem
from company.models import Company from company.models import Company
from InvenTree.status_codes import StockStatus from InvenTree.status_codes import StockStatus
from InvenTree.helpers import addUserPermissions
class PartAPITest(APITestCase): class PartAPITest(APITestCase):
@ -36,27 +36,20 @@ class PartAPITest(APITestCase):
password='password' password='password'
) )
# Add the permissions required to access the API endpoints # Put the user into a group with the correct permissions
perms = [ group = Group.objects.create(name='mygroup')
'view_part', self.user.groups.add(group)
'add_part',
'change_part',
'delete_part',
'view_partcategory',
'add_partcategory',
'change_partcategory',
'view_bomitem',
'add_bomitem',
'change_bomitem',
'view_partattachment',
'change_partattachment',
'add_partattachment',
'view_parttesttemplate',
'add_parttesttemplate',
'change_parttesttemplate',
]
addUserPermissions(self.user, perms) # Give the group *all* the permissions!
for rule in group.rule_sets.all():
rule.can_view = True
rule.can_change = True
rule.can_add = True
rule.can_delete = True
rule.save()
group.save()
self.client.login(username='testuser', password='password') self.client.login(username='testuser', password='password')

View File

@ -3,8 +3,7 @@
from django.test import TestCase from django.test import TestCase
from django.urls import reverse from django.urls import reverse
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from InvenTree.helpers import addUserPermissions
from .models import Part from .models import Part
@ -31,26 +30,18 @@ class PartViewTestCase(TestCase):
password='password' password='password'
) )
# Add the permissions required to access the pages # Put the user into a group with the correct permissions
perms = [ group = Group.objects.create(name='mygroup')
'view_part', self.user.groups.add(group)
'add_part',
'change_part',
'delete_part',
'view_partcategory',
'add_partcategory',
'change_partcategory',
'view_bomitem',
'add_bomitem',
'change_bomitem',
'view_partattachment',
'change_partattachment',
'add_partattachment',
]
addUserPermissions(self.user, perms) # Give the group *all* the permissions!
for rule in group.rule_sets.all():
rule.can_view = True
rule.can_change = True
rule.can_add = True
rule.can_delete = True
self.user.save() rule.save()
self.client.login(username='username', password='password') self.client.login(username='username', password='password')

View File

@ -171,6 +171,10 @@ class RuleSet(models.Model):
super().save(*args, **kwargs) super().save(*args, **kwargs)
if self.group:
# Update the group too!
self.group.save()
def get_models(self): def get_models(self):
""" """
Return the database tables / models that this ruleset covers. Return the database tables / models that this ruleset covers.
@ -328,11 +332,6 @@ def create_missing_rule_sets(sender, instance, **kwargs):
group permissions. group permissions.
""" """
created = kwargs.get('created', False)
# To trigger the group permissions update: update_fields should not be None
update_fields = kwargs.get('update_fields', None)
if created or update_fields:
update_group_roles(instance) update_group_roles(instance)