def test_generic_error_message_if_no_reportable_errors(self): form = BraintreeCardPaymentForm(self.form_data) assert form.is_valid() self.view.process_braintree_error_result(ErrorResult("gateway", { 'message': 'Some system error', 'errors': {} }), form) self.assertEqual( form.errors, {'__all__': ['Sorry there was an error processing your payment. ' 'Please try again later or use a different payment method.']} )
def test_check_for_address_errors_with_address_related_errors(self): result = ErrorResult( "gateway", { 'message': 'Some error', 'errors': { 'address': { 'errors': [{ 'code': ErrorCodes.Address.PostalCodeInvalidCharacters, 'message': 'invalid post code', }] } } }) view = CardPaymentView() with self.assertRaises(InvalidAddress): view.check_for_address_errors(result)
def test_check_for_address_errors_with_no_address_related_errors(self): result = ErrorResult( "gateway", { 'message': 'Some error', 'errors': { 'credit_card': { 'errors': [{ 'code': ErrorCodes.CreditCard.CreditCardTypeIsNotAccepted, 'message': 'Type not accepted', }, { 'code': ErrorCodes.CreditCard.CustomerIdIsInvalid, 'message': 'Invalid Customer ID', }] } } }) view = CardPaymentView() self.assertIsNone(view.check_for_address_errors(result))
def setUp(self): self.form_data = { 'first_name': 'Alice', 'last_name': 'Bob', 'email': '*****@*****.**', 'address_line_1': '1 Oak Tree Hill', 'town': 'New York', 'post_code': '10022', 'country': 'US', 'amount': Decimal(50), 'braintree_nonce': 'hello-braintree', 'landing_url': 'http://localhost', 'project': 'mozillafoundation', 'campaign_id': 'pi_day', } self.request = RequestFactory().get('/') self.request.session = {} self.request.LANGUAGE_CODE = 'en-US' self.view = CardPaymentView() self.view.payment_frequency = 'single' self.view.currency = 'usd' self.view.source_page_id = 3 self.view.request = self.request self.fake_error_result = ErrorResult("gateway", { 'message': 'Some error', 'errors': { 'credit_card': { 'errors': [ { 'code': ErrorCodes.CreditCard.CreditCardTypeIsNotAccepted, 'message': 'Type not accepted', }, { 'code': ErrorCodes.CreditCard.CustomerIdIsInvalid, 'message': 'Invalid Customer ID', } ] } } })
def test_gateway_address_errors_triggers_report_invalid_address(self): form = BraintreeCardPaymentForm(self.form_data) assert form.is_valid() result = ErrorResult( "gateway", { 'message': 'Some error', 'errors': { 'address': { 'errors': [{ 'code': ErrorCodes.Address.PostalCodeInvalidCharacters, 'message': 'invalid post code', }] } } }) self.view.process_braintree_error_result(result, form) self.assertEqual(len(self.view.gateway_address_errors), 1)