def test_raises_when_suds_WebFault(self, mock_client): """Raises an error if suds raises a WebFault""" mock_checkVat = mock_client.return_value.service.checkVat mock_checkVat.side_effect = WebFault(500, 'error') v = VATIN(VALID_VIES_COUNTRY_CODE, VALID_VIES_NUMBER) with self.assertRaises(ValueError): v.is_valid() mock_checkVat.assert_called_with(VALID_VIES_COUNTRY_CODE, VALID_VIES_NUMBER)
def clean(self, value): try: vatin = VATIN(*value) if vatin.is_valid(): return super(VATINField, self).clean(value) else: raise ValidationError(_('%(value)s is not a valid European VAT.'), code='invalid', params={'value': self.compress(value)}) except ValueError: raise ValidationError(_('%(value)s is not a valid European VAT.'), code='invalid', params={'value': self.compress(value)})
def test_result(self): v = VATIN(VALID_VIES_COUNTRY_CODE, VALID_VIES_NUMBER) self.assertFalse(hasattr(v, 'result')) self.assertTrue(v.is_valid()) # v should have a result now self.assertTrue(hasattr(v, 'result')) self.assertEqual(v.result['countryCode'], VALID_VIES_COUNTRY_CODE) self.assertEqual(v.result['vatNumber'], VALID_VIES_NUMBER)
def clean(self, value): if not value or not isinstance(value, (list, tuple)): if not value or not [v for v in value if v not in self.empty_values]: if self.required: raise ValidationError(self.error_messages["required"], code="required") else: return self.compress([]) else: try: vatin = VATIN(*value) if vatin.is_valid(): self._vies_result = vatin.result return super(VATINField, self).clean(value) except ValueError: pass raise ValidationError( _("%(value)s is not a valid European VAT."), code="invalid", params={"value": self.compress(value)} )
def test_is_valid(self): v = VATIN(VALID_VIES_COUNTRY_CODE, VALID_VIES_NUMBER) self.assertTrue(v.is_valid())