add validate_territory validator

This commit is contained in:
Martin
2016-07-08 16:49:49 +02:00
parent c0f4cad8f9
commit 1a805ec69e
2 changed files with 13 additions and 1 deletions
+8
View File
@@ -1,4 +1,5 @@
# coding=UTF-8 # coding=UTF-8
from api.models.market import iter_markets
from api.exceptions import ValidationError from api.exceptions import ValidationError
@@ -7,3 +8,10 @@ def validate_keys_exists(obj, *keys):
if not key in obj: if not key in obj:
raise ValidationError('No {} is specified'.format(key)) raise ValidationError('No {} is specified'.format(key))
return True return True
def validate_territory(value):
for market in iter_markets():
if market.territory == value:
return True
raise ValidationError('{} is not a valid territory'.format(value))
+5 -1
View File
@@ -1,5 +1,5 @@
import unittest2 import unittest2
from api.validators import ValidationError, validate_keys_exists from api.validators import ValidationError, validate_keys_exists, validate_territory
class TestValidation(unittest2.TestCase): class TestValidation(unittest2.TestCase):
@@ -11,3 +11,7 @@ class TestValidation(unittest2.TestCase):
ValidationError, validate_keys_exists, obj, 'a', 'b', 'c') ValidationError, validate_keys_exists, obj, 'a', 'b', 'c')
self.assertTrue(validate_keys_exists(obj, 'a')) self.assertTrue(validate_keys_exists(obj, 'a'))
self.assertTrue(validate_keys_exists(obj, 'a', 'b')) self.assertTrue(validate_keys_exists(obj, 'a', 'b'))
def test_validate_territory(self):
self.assertTrue(validate_territory('SE'))
self.assertRaises(ValidationError, validate_territory, 'unknown')