mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 05:05:42 +00:00 
			
		
		
		
	Remove old unit test code
This commit is contained in:
		| @@ -4,156 +4,3 @@ Unit tests for the views associated with the 'common' app | ||||
|  | ||||
| # -*- coding: utf-8 -*- | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| import json | ||||
|  | ||||
| from django.test import TestCase | ||||
| from django.urls import reverse | ||||
| from django.contrib.auth import get_user_model | ||||
|  | ||||
| from common.models import InvenTreeSetting | ||||
|  | ||||
|  | ||||
| class SettingsViewTest(TestCase): | ||||
|     """ | ||||
|     Tests for the settings management views | ||||
|     """ | ||||
|  | ||||
|     fixtures = [ | ||||
|         'settings', | ||||
|     ] | ||||
|  | ||||
|     def setUp(self): | ||||
|         super().setUp() | ||||
|  | ||||
|         # Create a user (required to access the views / forms) | ||||
|         self.user = get_user_model().objects.create_user( | ||||
|             username='username', | ||||
|             email='me@email.com', | ||||
|             password='password', | ||||
|         ) | ||||
|  | ||||
|         self.client.login(username='username', password='password') | ||||
|  | ||||
|     def get_url(self, pk): | ||||
|         return reverse('setting-edit', args=(pk,)) | ||||
|  | ||||
|     def get_setting(self, title): | ||||
|  | ||||
|         return InvenTreeSetting.get_setting_object(title) | ||||
|  | ||||
|     def get(self, url, status=200): | ||||
|  | ||||
|         response = self.client.get(url, HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|  | ||||
|         self.assertEqual(response.status_code, status) | ||||
|  | ||||
|         data = json.loads(response.content) | ||||
|  | ||||
|         return response, data | ||||
|  | ||||
|     def post(self, url, data, valid=None): | ||||
|  | ||||
|         response = self.client.post(url, data, HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|  | ||||
|         json_data = json.loads(response.content) | ||||
|  | ||||
|         # If a particular status code is required | ||||
|         if valid is not None: | ||||
|             if valid: | ||||
|                 self.assertEqual(json_data['form_valid'], True) | ||||
|             else: | ||||
|                 self.assertEqual(json_data['form_valid'], False) | ||||
|  | ||||
|         form_errors = json.loads(json_data['form_errors']) | ||||
|  | ||||
|         return json_data, form_errors | ||||
|  | ||||
|     def test_instance_name(self): | ||||
|         """ | ||||
|         Test that we can get the settings view for particular setting objects. | ||||
|         """ | ||||
|  | ||||
|         # Start with something basic - load the settings view for INVENTREE_INSTANCE | ||||
|         setting = self.get_setting('INVENTREE_INSTANCE') | ||||
|  | ||||
|         self.assertIsNotNone(setting) | ||||
|         self.assertEqual(setting.value, 'My very first InvenTree Instance') | ||||
|  | ||||
|         url = self.get_url(setting.pk) | ||||
|  | ||||
|         self.get(url) | ||||
|  | ||||
|         new_name = 'A new instance name!' | ||||
|  | ||||
|         # Change the instance name via the form | ||||
|         data, errors = self.post(url, {'value': new_name}, valid=True) | ||||
|  | ||||
|         name = InvenTreeSetting.get_setting('INVENTREE_INSTANCE') | ||||
|  | ||||
|         self.assertEqual(name, new_name) | ||||
|  | ||||
|     def test_choices(self): | ||||
|         """ | ||||
|         Tests for a setting which has choices | ||||
|         """ | ||||
|  | ||||
|         setting = InvenTreeSetting.get_setting_object('PURCHASEORDER_REFERENCE_PREFIX') | ||||
|  | ||||
|         # Default value! | ||||
|         self.assertEqual(setting.value, 'PO') | ||||
|  | ||||
|         url = self.get_url(setting.pk) | ||||
|  | ||||
|         # Try posting an invalid currency option | ||||
|         data, errors = self.post(url, {'value': 'Purchase Order'}, valid=True) | ||||
|  | ||||
|     def test_binary_values(self): | ||||
|         """ | ||||
|         Test for binary value | ||||
|         """ | ||||
|  | ||||
|         setting = InvenTreeSetting.get_setting_object('PART_COMPONENT') | ||||
|  | ||||
|         self.assertTrue(setting.as_bool()) | ||||
|  | ||||
|         url = self.get_url(setting.pk) | ||||
|  | ||||
|         setting.value = True | ||||
|         setting.save() | ||||
|  | ||||
|         # Try posting some invalid values | ||||
|         # The value should be "cleaned" and stay the same | ||||
|         for value in ['', 'abc', 'cat', 'TRUETRUETRUE']: | ||||
|             self.post(url, {'value': value}, valid=True) | ||||
|  | ||||
|         # Try posting some valid (True) values | ||||
|         for value in [True, 'True', '1', 'yes']: | ||||
|             self.post(url, {'value': value}, valid=True) | ||||
|             self.assertTrue(InvenTreeSetting.get_setting('PART_COMPONENT')) | ||||
|  | ||||
|         # Try posting some valid (False) values | ||||
|         for value in [False, 'False']: | ||||
|             self.post(url, {'value': value}, valid=True) | ||||
|             self.assertFalse(InvenTreeSetting.get_setting('PART_COMPONENT')) | ||||
|  | ||||
|     def test_part_name_format(self): | ||||
|         """ | ||||
|         Try posting some valid and invalid name formats for PART_NAME_FORMAT | ||||
|         """ | ||||
|         setting = InvenTreeSetting.get_setting_object('PART_NAME_FORMAT') | ||||
|  | ||||
|         # test default value | ||||
|         self.assertEqual(setting.value, "{{ part.IPN if part.IPN }}{{ ' | ' if part.IPN }}{{ part.name }}" | ||||
|                                         "{{ ' | ' if part.revision }}{{ part.revision if part.revision }}") | ||||
|  | ||||
|         url = self.get_url(setting.pk) | ||||
|  | ||||
|         # Try posting an invalid part name  format | ||||
|         invalid_values = ['{{asset.IPN}}', '{{part}}', '{{"|"}}', '{{part.falcon}}'] | ||||
|         for invalid_value in invalid_values: | ||||
|             self.post(url, {'value': invalid_value}, valid=False) | ||||
|  | ||||
|         # try posting valid value | ||||
|         new_format = "{{ part.name if part.name }} {{ ' with revision ' if part.revision }} {{ part.revision }}" | ||||
|         self.post(url, {'value': new_format}, valid=True) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user