/tests/regressiontests/forms/localflavor/cl.py

https://code.google.com/p/mango-py/ · Python · 57 lines · 51 code · 5 blank · 1 comment · 0 complexity · 0f86c44cb6143dfed45c1771bebd7edc MD5 · raw file

  1. from django.contrib.localflavor.cl.forms import CLRutField, CLRegionSelect
  2. from django.core.exceptions import ValidationError
  3. from utils import LocalFlavorTestCase
  4. class CLLocalFlavorTests(LocalFlavorTestCase):
  5. def test_CLRegionSelect(self):
  6. f = CLRegionSelect()
  7. out = u'''<select name="foo">
  8. <option value="RM">Regi\xf3n Metropolitana de Santiago</option>
  9. <option value="I">Regi\xf3n de Tarapac\xe1</option>
  10. <option value="II">Regi\xf3n de Antofagasta</option>
  11. <option value="III">Regi\xf3n de Atacama</option>
  12. <option value="IV">Regi\xf3n de Coquimbo</option>
  13. <option value="V">Regi\xf3n de Valpara\xedso</option>
  14. <option value="VI">Regi\xf3n del Libertador Bernardo O&#39;Higgins</option>
  15. <option value="VII">Regi\xf3n del Maule</option>
  16. <option value="VIII">Regi\xf3n del B\xedo B\xedo</option>
  17. <option value="IX">Regi\xf3n de la Araucan\xeda</option>
  18. <option value="X">Regi\xf3n de los Lagos</option>
  19. <option value="XI">Regi\xf3n de Ays\xe9n del General Carlos Ib\xe1\xf1ez del Campo</option>
  20. <option value="XII">Regi\xf3n de Magallanes y la Ant\xe1rtica Chilena</option>
  21. <option value="XIV">Regi\xf3n de Los R\xedos</option>
  22. <option value="XV">Regi\xf3n de Arica-Parinacota</option>
  23. </select>'''
  24. self.assertEqual(f.render('foo', 'bar'), out)
  25. def test_CLRutField(self):
  26. error_invalid = [u'The Chilean RUT is not valid.']
  27. error_format = [u'Enter a valid Chilean RUT. The format is XX.XXX.XXX-X.']
  28. valid = {
  29. '11-6': '11-6',
  30. '116': '11-6',
  31. '767484100': '76.748.410-0',
  32. '78.412.790-7': '78.412.790-7',
  33. '8.334.6043': '8.334.604-3',
  34. '76793310-K': '76.793.310-K',
  35. '76793310-k': '76.793.310-K',
  36. }
  37. invalid = {
  38. '11.111.111-0': error_invalid,
  39. '111': error_invalid,
  40. }
  41. self.assertFieldOutput(CLRutField, valid, invalid)
  42. # deal with special "Strict Mode".
  43. invalid = {
  44. '11-6': error_format,
  45. '767484100': error_format,
  46. '8.334.6043': error_format,
  47. '76793310-K': error_format,
  48. '11.111.111-0': error_invalid
  49. }
  50. self.assertFieldOutput(CLRutField,
  51. {}, invalid, field_kwargs={"strict": True}
  52. )