|
@@ -1,5 +1,6 @@
|
|
from django.test import TestCase
|
|
from django.test import TestCase
|
|
from misago.conf.hydrators import hydrate_value, dehydrate_value
|
|
from misago.conf.hydrators import hydrate_value, dehydrate_value
|
|
|
|
+from misago.conf.models import Setting
|
|
|
|
|
|
|
|
|
|
class HydratorsTests(TestCase):
|
|
class HydratorsTests(TestCase):
|
|
@@ -10,7 +11,7 @@ class HydratorsTests(TestCase):
|
|
self.assertEqual(hydrate_value('string', dry_value), wet_value)
|
|
self.assertEqual(hydrate_value('string', dry_value), wet_value)
|
|
|
|
|
|
def test_hydrate_dehydrate_bool(self):
|
|
def test_hydrate_dehydrate_bool(self):
|
|
- """bool values is correctly hydrated and dehydrated"""
|
|
|
|
|
|
+ """bool values are correctly hydrated and dehydrated"""
|
|
wet_value = True
|
|
wet_value = True
|
|
dry_value = dehydrate_value('bool', wet_value)
|
|
dry_value = dehydrate_value('bool', wet_value)
|
|
self.assertEqual(hydrate_value('bool', dry_value), wet_value)
|
|
self.assertEqual(hydrate_value('bool', dry_value), wet_value)
|
|
@@ -26,13 +27,85 @@ class HydratorsTests(TestCase):
|
|
self.assertEqual(hydrate_value('int', dry_value), wet_value)
|
|
self.assertEqual(hydrate_value('int', dry_value), wet_value)
|
|
|
|
|
|
def test_hydrate_dehydrate_list(self):
|
|
def test_hydrate_dehydrate_list(self):
|
|
- """list value is correctly hydrated and dehydrated"""
|
|
|
|
|
|
+ """list is correctly hydrated and dehydrated"""
|
|
wet_value = ['foxtrot', 'uniform', 'hotel']
|
|
wet_value = ['foxtrot', 'uniform', 'hotel']
|
|
dry_value = dehydrate_value('list', wet_value)
|
|
dry_value = dehydrate_value('list', wet_value)
|
|
self.assertEqual(hydrate_value('list', dry_value), wet_value)
|
|
self.assertEqual(hydrate_value('list', dry_value), wet_value)
|
|
|
|
|
|
def test_hydrate_dehydrate_empty_list(self):
|
|
def test_hydrate_dehydrate_empty_list(self):
|
|
- """list value is correctly hydrated and dehydrated"""
|
|
|
|
|
|
+ """empty list is correctly hydrated and dehydrated"""
|
|
wet_value = []
|
|
wet_value = []
|
|
dry_value = dehydrate_value('list', wet_value)
|
|
dry_value = dehydrate_value('list', wet_value)
|
|
self.assertEqual(hydrate_value('list', dry_value), wet_value)
|
|
self.assertEqual(hydrate_value('list', dry_value), wet_value)
|
|
|
|
+
|
|
|
|
+ def test_value_error(self):
|
|
|
|
+ """unsupported type raises ValueError"""
|
|
|
|
+ with self.assertRaises(ValueError):
|
|
|
|
+ hydrate_value('eric', None)
|
|
|
|
+
|
|
|
|
+ with self.assertRaises(ValueError):
|
|
|
|
+ dehydrate_value('eric', None)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class HydratorsModelTests(TestCase):
|
|
|
|
+ def test_hydrate_dehydrate_string(self):
|
|
|
|
+ """string value is correctly hydrated and dehydrated in model"""
|
|
|
|
+ setting = Setting(python_type='string')
|
|
|
|
+
|
|
|
|
+ wet_value = 'Lorem Ipsum'
|
|
|
|
+ dry_value = dehydrate_value(setting.python_type, wet_value)
|
|
|
|
+
|
|
|
|
+ setting.value = wet_value
|
|
|
|
+ self.assertEqual(setting.value, wet_value)
|
|
|
|
+ self.assertEqual(setting.dry_value, dry_value)
|
|
|
|
+
|
|
|
|
+ def test_hydrate_dehydrate_bool(self):
|
|
|
|
+ """bool values are correctly hydrated and dehydrated in model"""
|
|
|
|
+ setting = Setting(python_type='bool')
|
|
|
|
+
|
|
|
|
+ wet_value = True
|
|
|
|
+ dry_value = dehydrate_value(setting.python_type, wet_value)
|
|
|
|
+
|
|
|
|
+ setting.value = wet_value
|
|
|
|
+ self.assertEqual(setting.value, wet_value)
|
|
|
|
+ self.assertEqual(setting.dry_value, dry_value)
|
|
|
|
+
|
|
|
|
+ wet_value = False
|
|
|
|
+ dry_value = dehydrate_value(setting.python_type, wet_value)
|
|
|
|
+
|
|
|
|
+ setting.value = wet_value
|
|
|
|
+ self.assertEqual(setting.value, wet_value)
|
|
|
|
+ self.assertEqual(setting.dry_value, dry_value)
|
|
|
|
+
|
|
|
|
+ def test_hydrate_dehydrate_int(self):
|
|
|
|
+ """int value is correctly hydrated and dehydrated in model"""
|
|
|
|
+ setting = Setting(python_type='int')
|
|
|
|
+
|
|
|
|
+ wet_value = 9001
|
|
|
|
+ dry_value = dehydrate_value(setting.python_type, wet_value)
|
|
|
|
+
|
|
|
|
+ setting.value = wet_value
|
|
|
|
+ self.assertEqual(setting.value, wet_value)
|
|
|
|
+ self.assertEqual(setting.dry_value, dry_value)
|
|
|
|
+
|
|
|
|
+ def test_hydrate_dehydrate_list(self):
|
|
|
|
+ """list is correctly hydrated and dehydrated in model"""
|
|
|
|
+ setting = Setting(python_type='list')
|
|
|
|
+
|
|
|
|
+ wet_value = ['Lorem', 'Ipsum', 'Dolor', 'Met']
|
|
|
|
+ dry_value = dehydrate_value(setting.python_type, wet_value)
|
|
|
|
+
|
|
|
|
+ setting.value = wet_value
|
|
|
|
+ self.assertEqual(setting.value, wet_value)
|
|
|
|
+ self.assertEqual(setting.dry_value, dry_value)
|
|
|
|
+
|
|
|
|
+ def test_hydrate_dehydrate_empty_list(self):
|
|
|
|
+ """empty list is correctly hydrated and dehydrated in model"""
|
|
|
|
+ setting = Setting(python_type='list')
|
|
|
|
+
|
|
|
|
+ wet_value = []
|
|
|
|
+ dry_value = dehydrate_value(setting.python_type, wet_value)
|
|
|
|
+
|
|
|
|
+ setting.value = wet_value
|
|
|
|
+ self.assertEqual(setting.value, wet_value)
|
|
|
|
+ self.assertEqual(setting.dry_value, dry_value)
|