PageRenderTime 37ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/tests/regressiontests/forms/localflavor/ch.py

https://code.google.com/p/mango-py/
Python | 75 lines | 72 code | 3 blank | 0 comment | 2 complexity | 1a4dff478e199aef83eadd51064b369a MD5 | raw file
Possible License(s): BSD-3-Clause
  1. from django.contrib.localflavor.ch.forms import (CHZipCodeField,
  2. CHPhoneNumberField, CHIdentityCardNumberField, CHStateSelect)
  3. from utils import LocalFlavorTestCase
  4. class CHLocalFlavorTests(LocalFlavorTestCase):
  5. def test_CHStateSelect(self):
  6. f = CHStateSelect()
  7. out = u'''<select name="state">
  8. <option value="AG" selected="selected">Aargau</option>
  9. <option value="AI">Appenzell Innerrhoden</option>
  10. <option value="AR">Appenzell Ausserrhoden</option>
  11. <option value="BS">Basel-Stadt</option>
  12. <option value="BL">Basel-Land</option>
  13. <option value="BE">Berne</option>
  14. <option value="FR">Fribourg</option>
  15. <option value="GE">Geneva</option>
  16. <option value="GL">Glarus</option>
  17. <option value="GR">Graubuenden</option>
  18. <option value="JU">Jura</option>
  19. <option value="LU">Lucerne</option>
  20. <option value="NE">Neuchatel</option>
  21. <option value="NW">Nidwalden</option>
  22. <option value="OW">Obwalden</option>
  23. <option value="SH">Schaffhausen</option>
  24. <option value="SZ">Schwyz</option>
  25. <option value="SO">Solothurn</option>
  26. <option value="SG">St. Gallen</option>
  27. <option value="TG">Thurgau</option>
  28. <option value="TI">Ticino</option>
  29. <option value="UR">Uri</option>
  30. <option value="VS">Valais</option>
  31. <option value="VD">Vaud</option>
  32. <option value="ZG">Zug</option>
  33. <option value="ZH">Zurich</option>
  34. </select>'''
  35. self.assertEqual(f.render('state', 'AG'), out)
  36. def test_CHZipCodeField(self):
  37. error_format = [u'Enter a zip code in the format XXXX.']
  38. valid = {
  39. '1234': '1234',
  40. '0000': '0000',
  41. }
  42. invalid = {
  43. '800x': error_format,
  44. '80 00': error_format,
  45. }
  46. self.assertFieldOutput(CHZipCodeField, valid, invalid)
  47. def test_CHPhoneNumberField(self):
  48. error_format = [u'Phone numbers must be in 0XX XXX XX XX format.']
  49. valid = {
  50. '012 345 67 89': '012 345 67 89',
  51. '0123456789': '012 345 67 89',
  52. }
  53. invalid = {
  54. '01234567890': error_format,
  55. '1234567890': error_format,
  56. }
  57. self.assertFieldOutput(CHPhoneNumberField, valid, invalid)
  58. def test_CHIdentityCardNumberField(self):
  59. error_format = [u'Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format.']
  60. valid = {
  61. 'C1234567<0': 'C1234567<0',
  62. '2123456700': '2123456700',
  63. }
  64. invalid = {
  65. 'C1234567<1': error_format,
  66. '2123456701': error_format,
  67. }
  68. self.assertFieldOutput(CHIdentityCardNumberField, valid, invalid)