from django.contrib.localflavor.is_.forms import (ISIdNumberField, ISPhoneNumberField, ISPostalCodeSelect) from utils import LocalFlavorTestCase class ISLocalFlavorTests(LocalFlavorTestCase): def test_ISPostalCodeSelect(self): f = ISPostalCodeSelect() out = u'''''' self.assertEqual(f.render('foo', 'bar'), out) def test_ISIdNumberField(self): error_atleast = [u'Ensure this value has at least 10 characters (it has 9).'] error_invalid = [u'Enter a valid Icelandic identification number. The format is XXXXXX-XXXX.'] error_atmost = [u'Ensure this value has at most 11 characters (it has 12).'] error_notvalid = [u'The Icelandic identification number is not valid.'] valid = { '2308803449': '230880-3449', '230880-3449': '230880-3449', '230880 3449': '230880-3449', '2308803440': '230880-3440', } invalid = { '230880343': error_atleast + error_invalid, '230880343234': error_atmost + error_invalid, 'abcdefghijk': error_invalid, '2308803439': error_notvalid, } self.assertFieldOutput(ISIdNumberField, valid, invalid) def test_ISPhoneNumberField(self): error_invalid = [u'Enter a valid value.'] error_atleast = [u'Ensure this value has at least 7 characters (it has 6).'] error_atmost = [u'Ensure this value has at most 8 characters (it has 9).'] valid = { '1234567': '1234567', '123 4567': '1234567', '123-4567': '1234567', } invalid = { '123-456': error_invalid, '123456': error_atleast + error_invalid, '123456555': error_atmost + error_invalid, 'abcdefg': error_invalid, ' 1234567 ': error_atmost + error_invalid, ' 12367 ': error_invalid } self.assertFieldOutput(ISPhoneNumberField, valid, invalid)