From e830b0e140d203c759e4a64b25a01cfcc612e437 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 23 Oct 2020 16:57:05 +0200 Subject: [PATCH 4/7] tests: factorize single payment regie fixture (#47506) --- tests/test_lingo_payment.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/tests/test_lingo_payment.py b/tests/test_lingo_payment.py index 2ad12d6f..cfbcb1b7 100644 --- a/tests/test_lingo_payment.py +++ b/tests/test_lingo_payment.py @@ -1561,11 +1561,16 @@ def test_bank_transaction_date(app, key, regie, user, john_doe, caplog, transact assert 'new transaction_date for transaction' in caplog.text -def test_successfull_items_can_pay_only_one_basket_item(app, basket_page, regie, user): +@pytest.fixture +def mono_regie(regie): regie.can_pay_only_one_basket_item = True regie.save() - item = BasketItem.objects.create(user=user, regie=regie, amount=42, subject='foo item') - BasketItem.objects.create(user=user, regie=regie, amount=84, subject='bar item') + return regie + + +def test_successfull_items_can_pay_only_one_basket_item(app, basket_page, mono_regie, user): + item = BasketItem.objects.create(user=user, regie=mono_regie, amount=42, subject='foo item') + BasketItem.objects.create(user=user, regie=mono_regie, amount=84, subject='bar item') resp = login(app).get('/test_basket_cell/') assert 'foo item' in resp.text @@ -1578,7 +1583,7 @@ def test_successfull_items_can_pay_only_one_basket_item(app, basket_page, regie, assert qs['subject'][0] == 'foo item', 'item.subject was not provided to eopayment' args = {'transaction_id': qs['transaction_id'][0], 'signed': True, 'ok': True, 'reason': 'Paid'} with mock.patch('combo.utils.requests_wrapper.RequestsSession.request'): - resp = app.get(get_url(True, 'lingo-callback', regie), params=args) + resp = app.get(get_url(True, 'lingo-callback', mono_regie), params=args) resp = app.get('/test_basket_cell/') assert 'foo item' not in resp.text @@ -1586,10 +1591,7 @@ def test_successfull_items_can_pay_only_one_basket_item(app, basket_page, regie, @mock.patch('combo.apps.lingo.models.BasketItem.get_items_to_be_paid') -def test_failure_can_only_pay_one_basket_item(get_items_to_be_paid, app, regie, user, user_name_id, caplog): - regie.can_pay_only_one_basket_item = True - regie.save() - +def test_failure_can_only_pay_one_basket_item(get_items_to_be_paid, app, mono_regie, user, user_name_id, caplog): item = mock.Mock(spec=['capture_date'], capture_date=None) get_items_to_be_paid.return_value.filter.return_value = [item, item] @@ -1599,7 +1601,7 @@ def test_failure_can_only_pay_one_basket_item(get_items_to_be_paid, app, regie, assert '_messages' not in app.session assert len(caplog.records) == 0 response = app.post('/lingo/pay', params={ - 'regie': regie.id, + 'regie': mono_regie.id, 'csrfmiddlewaretoken': token, }) assert 'Grouping basket items is not allowed.' in app.session['_messages'] -- 2.28.0