Projet

Général

Profil

0004-tests-factorize-single-payment-regie-fixture-47506.patch

Benjamin Dauvergne, 26 octobre 2020 20:37

Télécharger (3,05 ko)

Voir les différences:

Subject: [PATCH 4/7] tests: factorize single payment regie fixture (#47506)

 tests/test_lingo_payment.py | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)
tests/test_lingo_payment.py
1561 1561
        assert 'new transaction_date for transaction' in caplog.text
1562 1562

  
1563 1563

  
1564
def test_successfull_items_can_pay_only_one_basket_item(app, basket_page, regie, user):
1564
@pytest.fixture
1565
def mono_regie(regie):
1565 1566
    regie.can_pay_only_one_basket_item = True
1566 1567
    regie.save()
1567
    item = BasketItem.objects.create(user=user, regie=regie, amount=42, subject='foo item')
1568
    BasketItem.objects.create(user=user, regie=regie, amount=84, subject='bar item')
1568
    return regie
1569

  
1570

  
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')
1573
    BasketItem.objects.create(user=user, regie=mono_regie, amount=84, subject='bar item')
1569 1574

  
1570 1575
    resp = login(app).get('/test_basket_cell/')
1571 1576
    assert 'foo item' in resp.text
......
1578 1583
    assert qs['subject'][0] == 'foo item', 'item.subject was not provided to eopayment'
1579 1584
    args = {'transaction_id': qs['transaction_id'][0], 'signed': True, 'ok': True, 'reason': 'Paid'}
1580 1585
    with mock.patch('combo.utils.requests_wrapper.RequestsSession.request'):
1581
        resp = app.get(get_url(True, 'lingo-callback', regie), params=args)
1586
        resp = app.get(get_url(True, 'lingo-callback', mono_regie), params=args)
1582 1587

  
1583 1588
    resp = app.get('/test_basket_cell/')
1584 1589
    assert 'foo item' not in resp.text
......
1586 1591

  
1587 1592

  
1588 1593
@mock.patch('combo.apps.lingo.models.BasketItem.get_items_to_be_paid')
1589
def test_failure_can_only_pay_one_basket_item(get_items_to_be_paid, app, regie, user, user_name_id, caplog):
1590
    regie.can_pay_only_one_basket_item = True
1591
    regie.save()
1592

  
1594
def test_failure_can_only_pay_one_basket_item(get_items_to_be_paid, app, mono_regie, user, user_name_id, caplog):
1593 1595
    item = mock.Mock(spec=['capture_date'], capture_date=None)
1594 1596
    get_items_to_be_paid.return_value.filter.return_value = [item, item]
1595 1597

  
......
1599 1601
    assert '_messages' not in app.session
1600 1602
    assert len(caplog.records) == 0
1601 1603
    response = app.post('/lingo/pay', params={
1602
        'regie': regie.id,
1604
        'regie': mono_regie.id,
1603 1605
        'csrfmiddlewaretoken': token,
1604 1606
    })
1605 1607
    assert 'Grouping basket items is not allowed.' in app.session['_messages']
1606
-