from django.test import SimpleTestCase from .generic import ValidatorTestMixin from ..validators import DAVNumberValidator class DAVNumberValidatorTestCase(ValidatorTestMixin, SimpleTestCase): validator = DAVNumberValidator def test_valid_data(self): data = ( '001/00/1*0001*1869*1869*01011800', '999/99/999999*9999*2025*2026', '131/00/654321*1000*1999', '131/00/54321*1000', '131/00/1', '076/22/012345', '1', '23', '4567', '678912', '999999*9999', '54321x0001x2004', '54321 0001 2004 2014', '4321*0202x1999 2022*30121999', ) self.assertValid(self.validator, data) def test_invalid_data(self): data = ( '1/00/1', # Sektionsnummer nicht dreistellig '21/00/1', # Sektionsnummer nicht dreistellig '4321/00/1', # Sektionsnummer nicht dreistellig '131/1/1', # Ortsgruppennummer nicht zweistellig '131/321/1', # Ortsgruppennummer nicht zweistellig '131/00/', # Fehlende Mitgliedsnummer '131/00', # Fehlende Mitgliedsnummer '7654321', # Mitgliedsnummer mehr als sechs Stellen '999999*321', # Kategorienummer nicht vierstellig '999999*54321', # Kategorienummer nicht vierstellig '999999*9999*321', # DAV-Eintrittsjahr nicht vierstellig '999999*9999*54321', # DAV-Eintrittsjahr nicht vierstellig '999999*9999*9999*321', # Sektions-Eintrittsjahr nicht vierstellig '999999*9999*9999*54321', # Sektions-Eintrittsjahr nicht vierstellig '999999*9999*9999*9999*7654321', # Geburtsdatum nicht achtstellig '999999*9999*9999*9999*987654321', # Geburtsdatum nicht achtstellig '', # Leerstring ' 1', # Leerzeichen am Anfang '54321 0001 2004 2014 ', # Leerzeichen am Ende 'abc', # Nicht numerisch '131/00/abc', # Nicht numerisch 'abc/00/131', # Nicht numerisch '131/ab/131', # Nicht numerisch '131-00-131', # - statt / '131/00/131-0001', # - statt * oder x oder Leerzeichen ) self.assertInvalid(self.validator, data)