mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-11-03 22:55:43 +00:00 
			
		
		
		
	refactor test setup
This commit is contained in:
		@@ -4,14 +4,12 @@ Unit testing for BOM export functionality
 | 
			
		||||
 | 
			
		||||
import csv
 | 
			
		||||
 | 
			
		||||
from django.test import TestCase
 | 
			
		||||
 | 
			
		||||
from django.urls import reverse
 | 
			
		||||
from django.contrib.auth import get_user_model
 | 
			
		||||
from django.contrib.auth.models import Group
 | 
			
		||||
 | 
			
		||||
from InvenTree.InvenTree.helpers import InvenTreeTestCate
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BomExportTest(TestCase):
 | 
			
		||||
class BomExportTest(InvenTreeTestCate):
 | 
			
		||||
 | 
			
		||||
    fixtures = [
 | 
			
		||||
        'category',
 | 
			
		||||
@@ -20,33 +18,11 @@ class BomExportTest(TestCase):
 | 
			
		||||
        'bom',
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    roles = ['all']
 | 
			
		||||
 | 
			
		||||
    def setUp(self):
 | 
			
		||||
        super().setUp()
 | 
			
		||||
 | 
			
		||||
        # Create a user
 | 
			
		||||
        user = get_user_model()
 | 
			
		||||
 | 
			
		||||
        self.user = user.objects.create_user(
 | 
			
		||||
            username='username',
 | 
			
		||||
            email='user@email.com',
 | 
			
		||||
            password='password'
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        # Put the user into a group with the correct permissions
 | 
			
		||||
        group = Group.objects.create(name='mygroup')
 | 
			
		||||
        self.user.groups.add(group)
 | 
			
		||||
 | 
			
		||||
        # 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()
 | 
			
		||||
 | 
			
		||||
        self.client.login(username='username', password='password')
 | 
			
		||||
 | 
			
		||||
        self.url = reverse('bom-download', kwargs={'pk': 100})
 | 
			
		||||
 | 
			
		||||
    def test_bom_template(self):
 | 
			
		||||
 
 | 
			
		||||
@@ -3,13 +3,14 @@
 | 
			
		||||
from allauth.account.models import EmailAddress
 | 
			
		||||
 | 
			
		||||
from django.conf import settings
 | 
			
		||||
from django.contrib.auth import get_user_model
 | 
			
		||||
 | 
			
		||||
from django.test import TestCase
 | 
			
		||||
from django.core.exceptions import ValidationError
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
 | 
			
		||||
from InvenTree.InvenTree.helpers import InvenTreeTestCate
 | 
			
		||||
 | 
			
		||||
from .models import Part, PartCategory, PartCategoryStar, PartStar, PartTestTemplate
 | 
			
		||||
from .models import rename_part_image
 | 
			
		||||
from .templatetags import inventree_extras
 | 
			
		||||
@@ -21,15 +22,9 @@ from common.models import InvenTreeSetting, InvenTreeUserSetting, NotificationEn
 | 
			
		||||
from common.notifications import storage, UIMessageNotification
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TemplateTagTest(TestCase):
 | 
			
		||||
class TemplateTagTest(InvenTreeTestCate):
 | 
			
		||||
    """ Tests for the custom template tag code """
 | 
			
		||||
 | 
			
		||||
    def setUp(self):
 | 
			
		||||
        # Create a user for auth
 | 
			
		||||
        user = get_user_model()
 | 
			
		||||
        self.user = user.objects.create_user('testuser', 'test@testing.com', 'password')
 | 
			
		||||
        self.client.login(username='testuser', password='password')
 | 
			
		||||
 | 
			
		||||
    def test_define(self):
 | 
			
		||||
        self.assertEqual(int(inventree_extras.define(3)), 3)
 | 
			
		||||
 | 
			
		||||
@@ -330,24 +325,13 @@ class TestTemplateTest(TestCase):
 | 
			
		||||
        self.assertEqual(variant.getTestTemplates().count(), n + 1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PartSettingsTest(TestCase):
 | 
			
		||||
class PartSettingsTest(InvenTreeTestCate):
 | 
			
		||||
    """
 | 
			
		||||
    Tests to ensure that the user-configurable default values work as expected.
 | 
			
		||||
 | 
			
		||||
    Some fields for the Part model can have default values specified by the user.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def setUp(self):
 | 
			
		||||
        # Create a user for auth
 | 
			
		||||
        user = get_user_model()
 | 
			
		||||
 | 
			
		||||
        self.user = user.objects.create_user(
 | 
			
		||||
            username='testuser',
 | 
			
		||||
            email='test@testing.com',
 | 
			
		||||
            password='password',
 | 
			
		||||
            is_staff=True
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def make_part(self):
 | 
			
		||||
        """
 | 
			
		||||
        Helper function to create a simple part
 | 
			
		||||
@@ -461,7 +445,7 @@ class PartSettingsTest(TestCase):
 | 
			
		||||
        Part.objects.create(name='abc', revision='6', description='A part', IPN=' ')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PartSubscriptionTests(TestCase):
 | 
			
		||||
class PartSubscriptionTests(InvenTreeTestCate):
 | 
			
		||||
 | 
			
		||||
    fixtures = [
 | 
			
		||||
        'location',
 | 
			
		||||
@@ -470,15 +454,7 @@ class PartSubscriptionTests(TestCase):
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    def setUp(self):
 | 
			
		||||
        # Create a user for auth
 | 
			
		||||
        user = get_user_model()
 | 
			
		||||
 | 
			
		||||
        self.user = user.objects.create_user(
 | 
			
		||||
            username='testuser',
 | 
			
		||||
            email='test@testing.com',
 | 
			
		||||
            password='password',
 | 
			
		||||
            is_staff=True
 | 
			
		||||
        )
 | 
			
		||||
        super().setUp()
 | 
			
		||||
 | 
			
		||||
        # electronics / IC / MCU
 | 
			
		||||
        self.category = PartCategory.objects.get(pk=4)
 | 
			
		||||
@@ -578,7 +554,7 @@ class PartSubscriptionTests(TestCase):
 | 
			
		||||
        self.assertTrue(self.part.is_starred_by(self.user))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BaseNotificationIntegrationTest(TestCase):
 | 
			
		||||
class BaseNotificationIntegrationTest(InvenTreeTestCate):
 | 
			
		||||
    """ Integration test for notifications """
 | 
			
		||||
 | 
			
		||||
    fixtures = [
 | 
			
		||||
@@ -589,15 +565,7 @@ class BaseNotificationIntegrationTest(TestCase):
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    def setUp(self):
 | 
			
		||||
        # Create a user for auth
 | 
			
		||||
        user = get_user_model()
 | 
			
		||||
 | 
			
		||||
        self.user = user.objects.create_user(
 | 
			
		||||
            username='testuser',
 | 
			
		||||
            email='test@testing.com',
 | 
			
		||||
            password='password',
 | 
			
		||||
            is_staff=True
 | 
			
		||||
        )
 | 
			
		||||
        super().setUp()
 | 
			
		||||
        # Add Mailadress
 | 
			
		||||
        EmailAddress.objects.create(user=self.user, email='test@testing.com')
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,8 +2,6 @@
 | 
			
		||||
 | 
			
		||||
from django.test import TestCase
 | 
			
		||||
from django.urls import reverse
 | 
			
		||||
from django.contrib.auth import get_user_model
 | 
			
		||||
from django.contrib.auth.models import Group
 | 
			
		||||
 | 
			
		||||
from .models import Part
 | 
			
		||||
 | 
			
		||||
@@ -19,34 +17,11 @@ class PartViewTestCase(TestCase):
 | 
			
		||||
        'supplier_part',
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    roles = ['all']
 | 
			
		||||
 | 
			
		||||
    def setUp(self):
 | 
			
		||||
        super().setUp()
 | 
			
		||||
 | 
			
		||||
        # Create a user
 | 
			
		||||
        user = get_user_model()
 | 
			
		||||
 | 
			
		||||
        self.user = user.objects.create_user(
 | 
			
		||||
            username='username',
 | 
			
		||||
            email='user@email.com',
 | 
			
		||||
            password='password'
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        # Put the user into a group with the correct permissions
 | 
			
		||||
        group = Group.objects.create(name='mygroup')
 | 
			
		||||
        self.user.groups.add(group)
 | 
			
		||||
 | 
			
		||||
        # 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()
 | 
			
		||||
 | 
			
		||||
        self.client.login(username='username', password='password')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PartListTest(PartViewTestCase):
 | 
			
		||||
 | 
			
		||||
    def test_part_index(self):
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user