def test_old_tfn(self): """Test old, 8-digit TFNs.""" validator = AUTaxFileNumberFieldValidator() old_valid_tfn = '38593474' validator(old_valid_tfn) old_invalid_tfn = '38593475' self.assertRaises(ValidationError, lambda: validator(old_invalid_tfn))
def test_raises_error_for_invalid_tfn(self): """Test that a TFN must pass the ATO's validation algorithm.""" invalid_tfn = '123456783' validator = AUTaxFileNumberFieldValidator() self.assertRaises(ValidationError, lambda: validator(invalid_tfn))
def test_raises_error_for_too_long_tfn(self): """Test a TFN with more than 9 digits is invalid.""" invalid_tfn = '1234567890' validator = AUTaxFileNumberFieldValidator() self.assertRaises(ValidationError, lambda: validator(invalid_tfn))
def test_raises_error_for_too_short_tfn(self): """Test a TFN with fewer than 8 digits is invalid.""" invalid_tfn = '1234567' validator = AUTaxFileNumberFieldValidator() self.assertRaises(ValidationError, lambda: validator(invalid_tfn))
def test_raises_error_for_tfn_containing_a_letter(self): """Test an TFN containing a letter is invalid.""" invalid_tfn = '12345678W' validator = AUTaxFileNumberFieldValidator() self.assertRaises(ValidationError, lambda: validator(invalid_tfn))
def test_no_error_for_valid_tfn_with_whitespace(self): """Test a TFN can be valid when it contains whitespace.""" valid_tfn = '123 456 782' validator = AUTaxFileNumberFieldValidator() validator(valid_tfn)
def test_no_error_for_a_valid_tfn(self): """Test a valid TFN does not cause an error.""" valid_tfn = '123456782' validator = AUTaxFileNumberFieldValidator() validator(valid_tfn)