Exemple #1
0
    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))
Exemple #4
0
    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)