mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-30 20:55:42 +00:00 
			
		
		
		
	Update unit tests to match new format
- Add more unit tests for global settings - Add more unit tests for user settings
This commit is contained in:
		| @@ -186,7 +186,7 @@ class GlobalSettingsApiTest(InvenTreeAPITestCase): | |||||||
|         # Check default value |         # Check default value | ||||||
|         self.assertEqual(setting.value, 'My company name') |         self.assertEqual(setting.value, 'My company name') | ||||||
|  |  | ||||||
|         url = reverse('api-global-setting-detail', kwargs={'pk': setting.pk}) |         url = reverse('api-global-setting-detail', kwargs={'key': setting.key}) | ||||||
|  |  | ||||||
|         # Test getting via the API |         # Test getting via the API | ||||||
|         for val in ['test', '123', 'My company nam3']: |         for val in ['test', '123', 'My company nam3']: | ||||||
| @@ -212,6 +212,47 @@ class GlobalSettingsApiTest(InvenTreeAPITestCase): | |||||||
|             setting.refresh_from_db() |             setting.refresh_from_db() | ||||||
|             self.assertEqual(setting.value, val) |             self.assertEqual(setting.value, val) | ||||||
|  |  | ||||||
|  |     def test_api_detail(self): | ||||||
|  |         """Test that we can access the detail view for a setting based on the <key>""" | ||||||
|  |  | ||||||
|  |         # These keys are invalid, and should return 404 | ||||||
|  |         for key in ["apple", "carrot", "dog"]: | ||||||
|  |             response = self.get( | ||||||
|  |                 reverse('api-global-setting-detail', kwargs={'key': key}), | ||||||
|  |                 expected_code=404, | ||||||
|  |             ) | ||||||
|  |  | ||||||
|  |         key = 'INVENTREE_INSTANCE' | ||||||
|  |         url = reverse('api-global-setting-detail', kwargs={'key': key}) | ||||||
|  |  | ||||||
|  |         InvenTreeSetting.objects.filter(key=key).delete() | ||||||
|  |  | ||||||
|  |         # Check that we can access a setting which has not previously been created | ||||||
|  |         self.assertFalse(InvenTreeSetting.objects.filter(key=key).exists()) | ||||||
|  |  | ||||||
|  |         # Access via the API, and the default value should be received | ||||||
|  |         response = self.get(url, expected_code=200) | ||||||
|  |  | ||||||
|  |         self.assertEqual(response.data['value'], 'InvenTree server') | ||||||
|  |  | ||||||
|  |         # Now, the object should have been created in the DB | ||||||
|  |         self.patch( | ||||||
|  |             url, | ||||||
|  |             { | ||||||
|  |                 'value': 'My new title', | ||||||
|  |             }, | ||||||
|  |             expected_code=200, | ||||||
|  |         ) | ||||||
|  |  | ||||||
|  |         setting = InvenTreeSetting.objects.get(key=key) | ||||||
|  |  | ||||||
|  |         self.assertEqual(setting.value, 'My new title') | ||||||
|  |  | ||||||
|  |         # And retrieving via the API now returns the updated value | ||||||
|  |         response = self.get(url, expected_code=200) | ||||||
|  |  | ||||||
|  |         self.assertEqual(response.data['value'], 'My new title') | ||||||
|  |  | ||||||
|  |  | ||||||
| class UserSettingsApiTest(InvenTreeAPITestCase): | class UserSettingsApiTest(InvenTreeAPITestCase): | ||||||
|     """ |     """ | ||||||
| @@ -226,6 +267,34 @@ class UserSettingsApiTest(InvenTreeAPITestCase): | |||||||
|  |  | ||||||
|         self.get(url, expected_code=200) |         self.get(url, expected_code=200) | ||||||
|  |  | ||||||
|  |     def test_user_setting_invalid(self): | ||||||
|  |         """Test a user setting with an invalid key""" | ||||||
|  |  | ||||||
|  |         url = reverse('api-user-setting-detail', kwargs={'key': 'DONKEY'}) | ||||||
|  |  | ||||||
|  |         self.get(url, expected_code=404) | ||||||
|  |  | ||||||
|  |     def test_user_setting_init(self): | ||||||
|  |         """Test we can retrieve a setting which has not yet been initialized""" | ||||||
|  |          | ||||||
|  |         key = 'HOMEPAGE_PART_LATEST' | ||||||
|  |  | ||||||
|  |         # Ensure it does not actually exist in the database | ||||||
|  |         self.assertFalse(InvenTreeUserSetting.objects.filter(key=key).exists()) | ||||||
|  |  | ||||||
|  |         url = reverse('api-user-setting-detail', kwargs={'key': key}) | ||||||
|  |  | ||||||
|  |         response = self.get(url, expected_code=200) | ||||||
|  |  | ||||||
|  |         self.assertEqual(response.data['value'], 'True') | ||||||
|  |  | ||||||
|  |         self.patch(url, {'value': 'False'}, expected_code=200) | ||||||
|  |  | ||||||
|  |         setting = InvenTreeUserSetting.objects.get(key=key, user=self.user) | ||||||
|  |  | ||||||
|  |         self.assertEqual(setting.value, 'False') | ||||||
|  |         self.assertEqual(setting.to_native_value(), False) | ||||||
|  |  | ||||||
|     def test_user_setting_boolean(self): |     def test_user_setting_boolean(self): | ||||||
|         """ |         """ | ||||||
|         Test a boolean user setting value |         Test a boolean user setting value | ||||||
| @@ -241,7 +310,7 @@ class UserSettingsApiTest(InvenTreeAPITestCase): | |||||||
|         self.assertEqual(setting.to_native_value(), True) |         self.assertEqual(setting.to_native_value(), True) | ||||||
|  |  | ||||||
|         # Fetch via API |         # Fetch via API | ||||||
|         url = reverse('api-user-setting-detail', kwargs={'pk': setting.pk}) |         url = reverse('api-user-setting-detail', kwargs={'key': setting.key}) | ||||||
|  |  | ||||||
|         response = self.get(url, expected_code=200) |         response = self.get(url, expected_code=200) | ||||||
|  |  | ||||||
| @@ -300,7 +369,7 @@ class UserSettingsApiTest(InvenTreeAPITestCase): | |||||||
|             user=self.user |             user=self.user | ||||||
|         ) |         ) | ||||||
|  |  | ||||||
|         url = reverse('api-user-setting-detail', kwargs={'pk': setting.pk}) |         url = reverse('api-user-setting-detail', kwargs={'key': setting.key}) | ||||||
|  |  | ||||||
|         # Check default value |         # Check default value | ||||||
|         self.assertEqual(setting.value, 'YYYY-MM-DD') |         self.assertEqual(setting.value, 'YYYY-MM-DD') | ||||||
| @@ -339,7 +408,7 @@ class UserSettingsApiTest(InvenTreeAPITestCase): | |||||||
|             user=self.user |             user=self.user | ||||||
|         ) |         ) | ||||||
|  |  | ||||||
|         url = reverse('api-user-setting-detail', kwargs={'pk': setting.pk}) |         url = reverse('api-user-setting-detail', kwargs={'key': setting.key}) | ||||||
|  |  | ||||||
|         # Check default value for this setting |         # Check default value for this setting | ||||||
|         self.assertEqual(setting.value, 10) |         self.assertEqual(setting.value, 10) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user