70 lines
2.4 KiB
Python
70 lines
2.4 KiB
Python
|
from django.contrib.localflavor.it.forms import (ITZipCodeField, ITRegionSelect,
|
||
|
ITSocialSecurityNumberField, ITVatNumberField)
|
||
|
|
||
|
from django.test import SimpleTestCase
|
||
|
|
||
|
|
||
|
class ITLocalFlavorTests(SimpleTestCase):
|
||
|
def test_ITRegionSelect(self):
|
||
|
f = ITRegionSelect()
|
||
|
out = u'''<select name="regions">
|
||
|
<option value="ABR">Abruzzo</option>
|
||
|
<option value="BAS">Basilicata</option>
|
||
|
<option value="CAL">Calabria</option>
|
||
|
<option value="CAM">Campania</option>
|
||
|
<option value="EMR">Emilia-Romagna</option>
|
||
|
<option value="FVG">Friuli-Venezia Giulia</option>
|
||
|
<option value="LAZ">Lazio</option>
|
||
|
<option value="LIG">Liguria</option>
|
||
|
<option value="LOM">Lombardia</option>
|
||
|
<option value="MAR">Marche</option>
|
||
|
<option value="MOL">Molise</option>
|
||
|
<option value="PMN" selected="selected">Piemonte</option>
|
||
|
<option value="PUG">Puglia</option>
|
||
|
<option value="SAR">Sardegna</option>
|
||
|
<option value="SIC">Sicilia</option>
|
||
|
<option value="TOS">Toscana</option>
|
||
|
<option value="TAA">Trentino-Alto Adige</option>
|
||
|
<option value="UMB">Umbria</option>
|
||
|
<option value="VAO">Valle d\u2019Aosta</option>
|
||
|
<option value="VEN">Veneto</option>
|
||
|
</select>'''
|
||
|
self.assertEqual(f.render('regions', 'PMN'), out)
|
||
|
|
||
|
def test_ITZipCodeField(self):
|
||
|
error_invalid = [u'Enter a valid zip code.']
|
||
|
valid = {
|
||
|
'00100': '00100',
|
||
|
}
|
||
|
invalid = {
|
||
|
' 00100': error_invalid,
|
||
|
}
|
||
|
self.assertFieldOutput(ITZipCodeField, valid, invalid)
|
||
|
|
||
|
def test_ITSocialSecurityNumberField(self):
|
||
|
error_invalid = [u'Enter a valid Social Security number.']
|
||
|
valid = {
|
||
|
'LVSGDU99T71H501L': 'LVSGDU99T71H501L',
|
||
|
'LBRRME11A01L736W': 'LBRRME11A01L736W',
|
||
|
'lbrrme11a01l736w': 'LBRRME11A01L736W',
|
||
|
'LBR RME 11A01 L736W': 'LBRRME11A01L736W',
|
||
|
}
|
||
|
invalid = {
|
||
|
'LBRRME11A01L736A': error_invalid,
|
||
|
'%BRRME11A01L736W': error_invalid,
|
||
|
}
|
||
|
self.assertFieldOutput(ITSocialSecurityNumberField, valid, invalid)
|
||
|
|
||
|
def test_ITVatNumberField(self):
|
||
|
error_invalid = [u'Enter a valid VAT number.']
|
||
|
valid = {
|
||
|
'07973780013': '07973780013',
|
||
|
'7973780013': '07973780013',
|
||
|
7973780013: '07973780013',
|
||
|
}
|
||
|
invalid = {
|
||
|
'07973780014': error_invalid,
|
||
|
'A7973780013': error_invalid,
|
||
|
}
|
||
|
self.assertFieldOutput(ITVatNumberField, valid, invalid)
|