123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- from django.test import TestCase
- from misago.conf.hydrators import dehydrate_value, hydrate_value
- from misago.conf.models import Setting
- class HydratorsTests(TestCase):
- def test_hydrate_dehydrate_string(self):
- """string value is correctly hydrated and dehydrated"""
- wet_value = 'Ni!'
- dry_value = dehydrate_value('string', wet_value)
- self.assertEqual(hydrate_value('string', dry_value), wet_value)
- def test_hydrate_dehydrate_bool(self):
- """bool values are correctly hydrated and dehydrated"""
- wet_value = True
- dry_value = dehydrate_value('bool', wet_value)
- self.assertEqual(hydrate_value('bool', dry_value), wet_value)
- wet_value = False
- dry_value = dehydrate_value('bool', wet_value)
- self.assertEqual(hydrate_value('bool', dry_value), wet_value)
- def test_hydrate_dehydrate_int(self):
- """int value is correctly hydrated and dehydrated"""
- wet_value = 9001
- dry_value = dehydrate_value('int', wet_value)
- self.assertEqual(hydrate_value('int', dry_value), wet_value)
- def test_hydrate_dehydrate_list(self):
- """list is correctly hydrated and dehydrated"""
- wet_value = ['foxtrot', 'uniform', 'hotel']
- dry_value = dehydrate_value('list', wet_value)
- self.assertEqual(hydrate_value('list', dry_value), wet_value)
- def test_hydrate_dehydrate_empty_list(self):
- """empty list is correctly hydrated and dehydrated"""
- wet_value = []
- dry_value = dehydrate_value('list', 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)
|