Projet

Général

Profil

0006-lingo-pass-reference_id-to-eopayment-as-orderid-for-.patch

Benjamin Dauvergne, 26 octobre 2020 20:37

Télécharger (2,35 ko)

Voir les différences:

Subject: [PATCH 6/7] lingo: pass reference_id to eopayment as orderid for
 unique item payment (#47506)

 combo/apps/lingo/views.py   | 3 +++
 tests/test_lingo_payment.py | 4 +++-
 2 files changed, 6 insertions(+), 1 deletion(-)
combo/apps/lingo/views.py
416 416
        if regie.can_pay_only_one_basket_item:
417 417
            item = (items or remote_items)[0]
418 418
            kwargs['subject'] = item.subject
419
            # copy command reference / invoice number
420
            if item.reference_id:
421
                kwargs['orderid'] = item.reference_id
419 422
            # allow easy testing/use of backend specific keyword arguments
420 423
            EOPAYMENT_REQUEST_KWARGS_PREFIX = 'eopayment_request_kwargs_'
421 424
            if hasattr(item, 'request_data'):
tests/test_lingo_payment.py
1569 1569

  
1570 1570

  
1571 1571
def test_successfull_items_can_pay_only_one_basket_item(app, basket_page, mono_regie, user):
1572
    item = BasketItem.objects.create(user=user, regie=mono_regie, amount=42, subject='foo item')
1572
    item = BasketItem.objects.create(user=user, regie=mono_regie, amount=42, subject='foo item',
1573
                                     reference_id='form-3-23')
1573 1574
    BasketItem.objects.create(user=user, regie=mono_regie, amount=84, subject='bar item')
1574 1575

  
1575 1576
    resp = login(app).get('/test_basket_cell/')
......
1581 1582
    # successful payment
1582 1583
    qs = urlparse.parse_qs(urlparse.urlparse(resp.location).query)
1583 1584
    assert qs['subject'][0] == 'foo item', 'item.subject was not provided to eopayment'
1585
    assert qs['orderid'][0] == 'form-3-23'
1584 1586
    args = {'transaction_id': qs['transaction_id'][0], 'signed': True, 'ok': True, 'reason': 'Paid'}
1585 1587
    with mock.patch('combo.utils.requests_wrapper.RequestsSession.request'):
1586 1588
        resp = app.get(get_url(True, 'lingo-callback', mono_regie), params=args)
1587
-