0001-lingo-handle-exceptions-raised-by-backend.request-40.patch
combo/apps/lingo/views.py | ||
---|---|---|
397 | 397 |
kwargs['capture_date'] = capture_date |
398 | 398 |
if regie.transaction_options: |
399 | 399 |
kwargs.update(regie.transaction_options) |
400 |
(order_id, kind, data) = payment.request(total_amount, **kwargs) |
|
401 | 400 |
logger = logging.getLogger(__name__) |
401 |
try: |
|
402 |
(order_id, kind, data) = payment.request(total_amount, **kwargs) |
|
403 |
except eopayment.PaymentException as e: |
|
404 |
logger.error('failed to initiate payment request: %s', e) |
|
405 |
messages.error(request, _('Failed to initiate payment request')) |
|
406 |
return HttpResponseRedirect(next_url) |
|
402 | 407 |
logger.info(u'emitted payment request with id %s', smart_text(order_id), extra={ |
403 | 408 |
'eopayment_order_id': smart_text(order_id), 'eopayment_data': repr(data)}) |
404 | 409 |
transaction.order_id = order_id |
tests/test_lingo_payment.py | ||
---|---|---|
854 | 854 |
assert Transaction.objects.get(id=t1.id).status == EXPIRED |
855 | 855 |
assert Transaction.objects.get(id=t2.id).status == 0 |
856 | 856 | |
857 | ||
857 | 858 |
def test_transaction_validate(app, key, regie, user): |
858 | 859 |
t1 = Transaction(regie=regie, bank_data={'bank': 'data'}, amount=12, |
859 | 860 |
status=eopayment.PAID) |
... | ... | |
1269 | 1270 |
'error': False, |
1270 | 1271 |
'error_msg': '' |
1271 | 1272 |
} |
1273 | ||
1274 | ||
1275 |
def test_request_payment_exception(app, basket_page, regie, user): |
|
1276 |
item = BasketItem.objects.create(user=user, regie=regie, |
|
1277 |
subject='test_item', amount='10.5', |
|
1278 |
source_url='http://example.org/testitem/') |
|
1279 | ||
1280 |
with mock.patch('eopayment.dummy.Payment.request', autospec=True) as mock_request: |
|
1281 |
mock_request.side_effect = eopayment.PaymentException |
|
1282 |
resp = login(app).get(basket_page.get_online_url()) |
|
1283 |
resp = resp.form.submit() |
|
1284 |
assert resp.url == basket_page.get_online_url() |
|
1285 |
resp = resp.follow() |
|
1286 |
assert 'Failed to initiate payment request' in resp.text |
|
1272 |
- |