mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +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:
parent
5560706c33
commit
9e872d283b
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user